Skip to main content

Manage tasks with common Ajax workspace

Judith Myerson (jmyerson@bellatlantic.net), Systems Engineer and Architect
Judith M. Myerson is a systems architect and engineer. Her areas of interest include open source tools, middleware technologies, enterprise-wide systems, database technologies, application development, network management, security, performance management, RFID technologies, and project management. Judith is an IBM developerWorks Contributing Author through the IBM developerWorks Author Achievement Recognition Program.

Summary:  Want to increase productivity when managing tasks of developing Ajax applications? Regular developerWorks author Judith Myerson covers how you can use common Asynchronous JavaScript and XML (Ajax) workspace as a way to collaborate with team members, make or get workspace templates, allocate workspace dynamically, centralize communications for better administration, and make or get Ajax libraries. She shows you how to mitigate project risks to more acceptable levels and how to set up a pilot study on the workspace to test the application before integrating it into legacy enterprise systems.

Date:  20 Oct 2009
Level:  Introductory PDF:  A4 and Letter (28KB | 8 pages)Get Adobe® Reader®
Activity:  2402 views
Comments:  

Introduction

In this article, I talk about how you should go beyond a simple productivity tool to remind you what you need to do. You need a better productivity approach so you can collaborate with others on a common project. One approach is to use a common Ajax workspace as the foundation for an online collaboration workspace for organizing and managing tasks and projects, whether you are working solo or with team members.

You can manage tasks, for instance, by tracking the status of your project in the corporate workspace. These statuses could be Pending Approval, In Progress, Completed, Revised, Approved, and Not Approved. You can determine what tasks you need to manage if objectives and goals are in conflict when managers collaborate on potential integration of one or more projects to reduce dependencies and eliminate redundancies.

Task management can be accomplished by collaborating using common workspaces, working with templates, allocating workspaces dynamically, and centralizing communications. These workspaces should allow members to get or access Ajax libraries and view the current status of project risks.

Collaborate on workspaces

You can set up a common Ajax workspace as the central workspace to allow team members to collaborate on one or more projects at personal, departmental, and corporate levels. A member of a personal workspace can also be a member of one or more corporate workspace areas. The central workspace provides technical support, training, network monitoring, and data security for lower-level workspaces.

Invite members

When you create your own personal workspace, you become a member of that workspace by default. You may invite external members to join your workspace on a peer-to-peer basis. They can either accept or reject your invitation.

Corporate workspace unconditionally requires that permanent members of the organization join the workspace. You, as the manager or leader, can invite potential external members to join the corporate workspace. In the middle is the departmental workspace, which is similar to the corporate workspace but on a smaller scale, including a smaller number of team members and potential members.

Organize members into groups

Within the corporate workspace you can organize members into groups for easier administration. You, as the system administrator, can apply access and permissions for each group for large workspaces rather each member. If unique permissions are necessary, any member added to a workspace as part of a group can also be added individually, overriding the group's permissions.

A department group within the corporate workspace is not the same as the department workspace. The difference is that the department workspace has more flexibility in determining what and how objectives and goals should be set and how the workspace should be used, while the department group inherits the objectives and goals of its parent corporate workspace.

Change default settings

The system workspace administrator can modify the default start page for all new members on initial login, the default company user permission for all newly invited members, and whether to enable an audit log on the workspaces by default. To override the group's permissions, the administrator can individually add a member of a group. The administrator should give the members an option to run, open tasks and check for updates at startup, and to show and hide tasks.

Work with templates

You can make templates available for personal, department, and corporate workspaces, for both private and public use. A template will appear as an option when a workspace manager or leader creates a new workspace. This way, the workspace manager can set up the workspace the way he wants it, or can make it as a template and then recreate a new workspace showing creation dates, as well as the current size and type of the workspace.

In addition to the usual information group name, purpose, time zone, charts, dashboard, milestones, time tracking, and project overview, the template should include workspace areas for open source or free Ajax libraries. A mini-calendar would be helpful in displaying due dates, missed deadlines, late items, anything due in, say, the next 14 days, your project list, latest activities across your projects, and so on.

You could have a template to show at the top of the dashboard a list of late task items with the missed deadlines for completing tasks in red and getting the approvals for starting or implementing the project in blue. Each workspace should list who's currently logged in, who's using one or more Ajax libraries, who's doing other project and workspace activities, and who the customers and clients are that would benefit from the project in progress.

More important is the property properties on the workspace that gives you project/workspace status options in a drop-down menu. Suggested options are Pending Approval, In Progress, Completed, Revised, Approved, and Not approved. The property properties should also include the level of risk factors—Low, Medium, High, Pending Evaluation, or Not Applicable—for each asset to be protected for the project under development.

Allocate workspace dynamically

For large projects, it is likely that a large workspace will be needed for collaboration purposes. The usual approach is to assign workspace statically. However, this approach leads to inflexibility such as using all servers without harnessing unused workspace resources. In addition, the size of personal, department, and corporate levels are usually set at static levels, wasting workspace resources that are not used.

A better approach is to allocate workspace dynamically. This lets a workspace leader dynamically increase workspace when needed and decrease workspace when not needed. The leader should, as his discretion, allow a workspace member to request the option to upgrade from a department to a corporate workspace when the objectives and goals of one or more projects change or when he wants to invite more people than the maximum allowed for the department workspace. The team member should also allow a workspace member to request the option to downgrade to a department or even a personal workspace when the number of workspace members go below the minimum required for the corporate workspace.

Centralize communications

E-mailing notes back and forth is not a very efficient way to collaborate with workspace members. The number of e-mails you receive grows if you do not set the system to discard them or store them at specific times. There might be a delay in getting the reply after you sent your e-mail due to heavy network traffic or outages at some point of time.

Instant messages are not a very good idea either. The messages you see are in sequential order. It gets to be cumbersome to try to scroll back to find out what a person said, especially when several people are on online almost at the same time, each one competing for time to write a message.

One solution is to have the Communications Center to centralize communication, maintain contacts lists, and categorize your e-mails on the same common message board. You can attach files, sounds, and images to messages like you can with e-mails. For the corporate workspace level, you can start a forum on project issues such as integrating projects with conflicting objectives and goals. In either case, you can give members security options to ensure the intended recipients with proper security credentials will open and read the messages and participate in the forums.

You can also use the center to share files restricted to the selected few for private use or available to all depending on your security criteria. It is the place that you can determine what files can pass through your firewalls. If you are sharing files within the same location, it might be better to save your small files from one computer or server on a USB-based portable device, carrying the device,and copying the files on another computer nearby.

Get or make Ajax libraries

Now I come to the most interesting part: Ajax libraries of service components. To help developers get the most out of the workspace when developing an application, you should set up three library types for the workspace: reusable service components, extracted service components, and discarded service components. Each file from all library types except the libraries of discarded service components must be labeled with version numbers. You must ensure there are no unacceptable dependencies of one service component for other components and remove all redundancies.

You can get free industry-wide Ajax libraries from the Internet, particularly from the OpenAjax Registry, and you can build or modify code for use on your workspace. The client-side libraries primarily consist of JavaScript code, while the server-based libraries can map server database results to JavaScript equivalents and reduce the size of JavaScript code. You may want to use the workspace to combine free Ajax libraries, as long as the agreement to use the library permits you to do so.

One example of a free stand-alone Ajax library is the Microsoft® Ajax Library 3.6, which lets you build client-side Web applications without using ASP.NET. The client-side library in ASP.NET Ajax can interact with several programming languages. PHP for Microsoft Ajax Library allows PHP developers to interact with Microsoft's client framework.

Assess project risks

You need to assess all project risks to determine if the projects are within acceptable levels of risk. If your assessment shows risks are high, you will need to restructure your project, so risks can be mitigated to more acceptable levels. It is quite possible at the beginning of the software development life cycle, that the project is within the acceptable levels of risks, but as the project moves to higher levels of the life cycle, the risks slowly reach the threshold of acceptable levels.

When the risks begin to go beyond the acceptable level later on in the life cycle, two questions emerge: First, how do you restructure the project in later stages of the life cycle so you can mitigate the risks? Second, how do you foresee at the beginning of the life cycle that the project currently with low risks will have excessive risks later on in the life cycle?

Identify assets

In answering both questions, one solution is to conduct risk assessment at the beginning of the life cycle. Start with identifying the assets you have. You do not need to identify all assets. Just identify the assets that need to be protected for a project, the people you work with, the documentation you need, the facility you work in, and so on. Just make sure you divide the assets into identifiable categories so you can find them to make changes in response to new technologies, a new company direction, or new regulations.

Identify vulnerabilities

Next, identify vulnerabilities your project could have. You need to show how hackers or other threat agents (for example, icy storms, floods, disgruntled employees, unauthorized access, software developer error, power failure) could exploit the absence or weakness of safeguards or countermeasures for the project. It is best to assign numerical probability values to each asset to determine the level of risk—a loss potential or the likelihood of a threat agent taking advantage of a vulnerability and the resulting business impact (for example, in dollars and hours). Qualitative probability (low, high) values can be difficult to quantify.

Prioritize risks

Changes in the quantitative probabilities serve as the basis for changing the prioritization of risks and the impact estimates . The higher the priority, the higher the risk probability value is. If the project is working with a new technology, is using a new development methodology, or even if there are new, relatively unknown team members with high turnovers, these need to be listed as potential risks to the projects on the workspaces.

Prepare a risk management plan

After the project risks are quantified, you should prepare a risk management plan to mitigate each significant risk, such as determining what metrics to use (for example, Annual Loss Frequency) or how you should use the ROI for implementing a safeguard for an asset, and develop a disaster recovery plan. Include in the plan the residual risks, the remaining risks after security controls have been applied. The final step is to formalize your findings into a risk management plan with established metrics, and track the top risks on your workspace week by week.

Set up a pilot study

You can set up a pilot study in one workspace, and even one spanning across several workspaces, to develop an application with other team members and test if the application would work properly. After the problems are resolved you can integrate the application into a portion of your enterprise system.

One instance of using the pilot study is if you want to reuse an Ajax template or module from a team member of a project other than the one you are currently working on. This is useful when you want to avoid developing a project that has similar functionality to other projects. In either case, you can look up in a discoverable service directory which project a team member is working on or has worked on, and the objectives and goals of each project.

In another instance, you could use a workspace to share a set of scripts on the workspace for other team members to view and suggest changes to them for use in the pilot study. The pilot study can help you find out what additional training developers may need to get the application in the study to work properly.

You can use IBM Rational® Web Developer WebSphere® Software to build Ajax applications and IBM Rational ClearQuest on your workspace for defect and application tracking. Just make sure the amount of workspace is enough to cover logical resources that you might need to share the workspace with others building the application for a project.

Conclusion

This article has given you an idea to plan ahead to manage tasks with common Ajax workspace. Potential users' demand for better management of tasks when developing and integrating Ajax applications presents a challenge for the developers and other members of a project team. But, you can help make your job easier by the use of common workspaces at three levels: personal, department and corporate. Being aware of and resolving the issues of using Ajax libraries and potential project risks can make your workspace teams' experiences trouble-free.


Resources

Learn

Discuss

About the author

Judith M. Myerson is a systems architect and engineer. Her areas of interest include open source tools, middleware technologies, enterprise-wide systems, database technologies, application development, network management, security, performance management, RFID technologies, and project management. Judith is an IBM developerWorks Contributing Author through the IBM developerWorks Author Achievement Recognition Program.

Comments



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Web development
ArticleID=438219
ArticleTitle=Manage tasks with common Ajax workspace
publish-date=10202009
author1-email=jmyerson@bellatlantic.net
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers