Search Server Express should comfortably index and search 400,000-500,000 documents on a reasonably sized server, and capacity and performance can be scaled in a multi-server deployment using the licensed version of Search Server 2008. Further, the Search Engine has also wide variety of connectors for searching MS and Lotus libraries.
MS has also published a Microsoft’s enterprise search products comparison table. Check out here.
Instacoll is doing a controlled release, but within the next 2 to 3 weeks will make it available to everyone across the globe. Individual users can access this for free, till the company decides on the pricing. However, the enterprise version will be charged.
Besides the online tool, there is the Live Documents Plug-in, which is an optional client that you can download - the client converts Microsoft Office into a smart client that is web-enabled and provides collaborative capabilities within the context of familiar desktop applications. The desktop client also facilitates offline access to your documents - any changes that you make to a Live Document in offline mode is cached locally and automatically synchronized to the server the next time you go online.
Check out the site here.
"Remember Me" is a popular feature provided by many Web sites that simplifies the sign in process -- and provides a better user experience -- by challenging a user only once for credentials. When selected by a user upon signing in, this feature enables the browser to "remember" the user's identity on subsequent visits to the site. User credentials remain stored as cookies in the browser until either the cookies expire, or the user signs out of the site.
This article explains how you can realize the Remember Me feature on WebSphere Portal with security enabled, and shows a sample implementation of the steps involved.
In many ways, the work of a critic is very easy. We risk very little yet enjoy a position over those who offer up their work and there self to our judgment. We thrive on negative criticism which is fun to write and read. But the bitter truth we critics must face is that in the grand scheme of things, the average piece of junk is probably more meaningful then our criticism designating it so.
...
All this got me thinking about the so called Thought Leaders in their respective fields and how easy is for them to critique. Its only, when you get yourself are in deep shit, hands full and people running all over you, you realize the importance of even the average piece of work you get working, that has so much meaning for the business.
- DB2 for Linux, UNIX, and Windows: Introduction to basic features and concepts
- DB2 for Linux, UNIX, and Windows: Introduction to basic features and concepts. Part 2
- Lotus Component Designer: Create and deploy WebSphere Portal components
- Rational Application Developer V7: Create Java, Web service and database applications
- Rational Business Developer Extension: Create a Java Web application without knowing the Java language
- Rational Business Developer Extension and SOA: Create a Java Web service -- without knowing the Java language
- Rational Functional Tester: Create robust, reusable automated functional tests
- Rational Manual Tester: Accelerating the pace and quality of the manual testing process
- Rational Modeling Extension for Microsoft .NET V7: Develop UML models and C# code using transformations
- Rational Performance Tester: Get to the bottom of application performance issues
- Rational Software Architect V7: Design and implement a simple phone book application
- Rational Tester for SOA Quality and Rational Performance Tester Extension for SOA Quality: Learn how to test Web services
- Tivoli Identity Manager: Manage user accounts in an LDAP directory
- WebSphere Application Server and Application Server Toolkit: Publish an enterprise application
- WebSphere Enterprise Service Bus: Develop message flow for protocol transformation
- WebSphere Federation Server: Easily access and integrate your distributed data -- wherever it resides
- WebSphere Integration Developer V6.0.1: Many business solutions from one set of components
- WebSphere Integration Developer V6.0.2: Create business rules and business processes
- WebSphere Portal: Develop, test, and deploy MyFirstPortlet
BEA refused the offer saying it was too low. Now, BEA up in the market was in news for quite some time. After rejecting the Oracle offer, BEA has indicated that it is willing to be acquired provided the price is right.
I believe, more then Oracle, BEA seems a better fit for SAP. The BEA product suites fills in the right gaps in the SAP portfolio and makes SAP a formidable player.
Another vendor that has a good fitment is HP. HP buying BEA makes sense. After the buy off of Mercury, HP has a good product suite in the testing space. Buying BEA also gives an entry into the infrastructure software space and pitching there hardware solutions along with software will be a win-win combination.
IBM will be least interested in this space.
Another rumour going around is that Microsoft might be interested in buying BEA. Not sure how the java world is going to react to that. It will be fun to watch if MS goes on to buy BEA.
The described implementation, Nuxeo Core, can be embedded in a basic Java technology-based framework based on OSGi (such as Eclipse) or in one based on Java EE, according to the needs of the application using it. This means that the core has to function without relying on Java EE services but also has to take advantage of them when they are available (providing clustering, messaging, caching, remoting, and advanced deployment).
Here is the list of the Top offerings in CRM, ERP, portals, content management, and collaboration platforms.
Question is what is FREE and what is NOT FREE exactly?
- The base deployable code is FREE
- The code needs to be hosted somewhere , somebody needs to pay for the Data centers – NOT FREE
- The Staff to maintain the installation is NOT FREE
- Any customization or integration to the product is NOT FREE
- Most of these products support various standards – JSR-170, JSR-168 and so on, that means you get industry standards for FREE
- The base underlying database used by them is most likely to be MySQL. In case, you do not want to use MySQL, then any other commercial DB is NOT FREE
- The staff training costs for any of these products is NOT FREE
Mike Heck has done a very good study of the comparison among the open source Web CMS (content management systems) available in the market (Alfresco, DotNetNuke, Drupal and Joomla, and Plone). He has looked at the standardization effort among these products and his experiences in using the products. The comparison score is like

Local fix
first move the page and transport that move from staging to production, then do the delete and move that forward.
A fix is available here. This will make sure that the release builder will export the whole page information, if the content or derivation parent is changed.
Check out the post here.
Usually, it starts with request/opportunity coming from one of the clients, that they require people with so and so capabilities/skills (let's call that skill X) with so much of years of experience.
The vendor's Pre-Sales force comes into action, pitches to the client with the proposal showcasing the capabilities of the company, how they are growing, their expertise in the technology "X" and how they have so many people working in the "X" technology.
The client is very impressed and asks for the profiles of the people who can be engaged for the assignment.
Now comes the problem. Pre-Sales team have done what is called Short Selling. Trying to sell when they have no inventory or people available on the bench with the skills. All in the hopes that if they are able to engage the client, they can do one or more of the following
- Try to engage somebody from the market ( a la contractor)
- Try training somebody in the company ( usually not possible within the short time frame
- Fudge the resume of an existing person and make him an expert on the technology "X"
My Qs, is Short Selling the right way.
We all do some sort of short selling in our lives. Claiming to be able to do things, which we never ever have done.
The book cover the specific techniques and best practices approach for developing portlets using WebSphere Portlet Factory. The book uses a fictitious company scenario to show how to build a Customer Self Service and Customer Representative application.
The book covers the following topics:
- Installing and configuring the Portlet Factory development Environment,
- How to create and consume data services from SQL, Domino and a Web Service,
- Step by step guidance for creating the portlets and enabling inter-portlet communication,
- Advanced UI design techniques, including the use of AJAX for type ahead functionality and working with the DoJo Builders,
- Enabling the use of Profiling
- Deployment Production Considerations, and
- Troubleshooting and Debugging techniques
The book can be downloaded from here.
The findUsersByAttribute() method can only be applied on string type attributes. Therefore, non-string type attributes such as follows cannot be used as a valid search attribute:
* "manager",
* "secretary",
* "seeAlso" (dataType=MemberIdentifier),
* "createTimestamp",
* "modifyTimestamp" (dataType=Date),
* "jpegPhoto" (dataType=ByteArray),
* "ibm-firstDayOfWeek", and
* "ibm-firstWorkDayOfWeek"
The error recorded in the logs appears like the following:
Search criteria is invalid. manager=uid=theManager,o=default organization ...
Caused by: com.ibm.portal.puma.InvalidSearchCriteriaException:
EJPSG0008E: Search criteria is invalid. manager=uid=theManager,o=
default organization
...
This is a limitation of the findUsersByAttribute method.
- Google adds presentation capabilities to Google Docs
- IBM planning to release Lotus Symphony to take on MS Office. Beta version already out. Check out the review here.
- Yahoo buys out Zimbra. This acquisition marks the entry of Yahoo in the Collaboration Enterprise space
Exciting time for users as more options become available to them. Tough times for MS as it hits there bread and butter business
The best option would had been Google Desktop supporting the tagging facility. They already index data, adding tags information on top of it would have been very easy. Alas, this is still a dream.
Then I looked around and tried to search if there are other utilities which can offer similar functionality. I stumbled on these.
1. Tag2Find
One can easily download and install the utility. It provide its own window where one can search for file and apply tags to the same. One can also import directories where based on the directory names, the utility tries to generate the tag names. It also provides explorer integration where you can right click and see the tags applied on that file.
Being a third party tool, every tag related action has to be within the application window. I know, there is nothing they can do about that. Windows Vista was meant to come with category based search capability, but they dropped the feature.
Overall it was easy to use and works fine for the functionality it meant for.
2. DocTagger
This one works for MS Word Docs and MS Power Point only. Integrates within the editor. Works well, but the scope limits it to business users only - who work only on word docs and ppts.
3. File Tagger
Paid option, hence could not try. Supposedly tags all the product installable you might have downloaded/purchased over the time.
4. FoundIt
Still in beta. Installs on your machine but works off their web site, which is a bad idea. Privacy concerns are a major issue. Further, if I am not online, I will not be able to access the data. The utility allows you to tag pre-defined set of file extensions ( doc, pdf, ppt, xls, images, email). Uses the google desktop API for searching the data on your desktop.
Overall, I am disappointed. Tag2Find is the best among these lots. But then tagging all that data on the desktop itself is a nightmare. Best way is to start tagging which all data you reference and start build the tag database
This approach starts to break down as you add Ajax functionality to portlets because you dynamically update the data displayed by a portlet without submitting an action request or refreshing the page. This article shows how to use the Dojo JavaScript toolkit to share data and events between portlets in the browser, providing cooperative support to dynamically updated portlets.
Check out the article here.
- Minimizing resource contention Contention for resources is the basic cause for all scalability problems. Insufficient memory, processor cycles, bandwidth, or database connections to meet demand would result in an application that cannot scale. For example, when performing transactions that involve resources that are scarce and thereby subject to contention, use those resources as late as possible. The shorter the amount of time that a process is using a resource, the sooner the resource will be available to another process. For example, return database connections to the pool as soon as possible.If possible, do not even use a contentious resource. Sometimes a process uses a transaction that does not require a resource when performing a function. For example, methods that require a transaction should be placed in a component separate from ones that do. As a result, you can avoid creating a transaction when it is not needed.
- Process Differentiation A process should never wait longer than necessary. Each time slice that a process is using a resource is a time slice that another process is not able to use that resource. One can place processes into two separate categories, synchronous and asynchronous.There are times when applications must perform actions synchronously. Some actions may need to wait for an action to return a result before continuing, or they may need to verify that an action was successful to ensure atomicity. That is, all of the actions associated with the operation must completely fail or succeed before performing another operation. However, when applications are limited in this manner, resources become a source of contention that negatively impacts scalability.One way to achieve scalability is by performing operations in an asynchronous manner. When operating asynchronously, long-running operations are queued for completion later by a separate process.
- Commutability The application design should try to incorporate the principle of Designing for commutability. Two or more operations are said to be commutative if they can be applied in any order and still obtain the same result. Typically, operations that you can perform in the absence of transaction are likely candidates. The less transaction oriented the operations are, easy it is to scale up the application.
- Interchangeability The whole idea here is to move the state out of the components. As you add more state to the componennts, they become less interchangeable. Requiring components to maintain state between method calls defeats interchangeability and, ultimately, scalability is adversely impacted. Instead, each method call should be self-contained. Store state outside the component when it is needed across method calls. When calling a method of a stateless component, any state required by that method can either be passed in as a parameter or read from the storage. At the end of the method call, preserve any state by returning it to the method caller or writing it back to the storage. Interchangeability extends beyond resource pooling. Server-side page caching for a Web application will most likely increase its scalability. Although personalization can give a user a unique experience, it comes at the expense of creating a custom presentation that you cannot reuse for another user.
- Partitioning The application will also look to partition resource and activities. By minimizing relationships between resources and between activities, one can minimize the risk of creating bottlenecks resulting from one participant of the relationship taking longer than the other. Two resources that depend on one another will live and die together. Partitioning of activities can help ease the load that you place on high cost resources. For example, using SSL entails a significant amount of overhead to provide a secure connection. As such, it is sensible to use SSL only for pages that actually require the increased security. In addition, Web servers dedicated to the task could handle SSL sessions.Transactions provide another opportunity for partitioning of activities. By separating methods that do not require transactions from those that do, you do not needlessly impose the overhead required for a transaction on methods that do not require one.However, partitioning is not always a good choice. Partitioning can make your system more complex. Dividing resources that have dependencies can add costly overhead to an operation.
The ppt can be downloaded here.
Standards are meant for products features that are no longer niche. Once they become commodity, standards are just small note that the products are compliant for so and so standard.
If one looks, you no longer buy Application Server for Java v1.5 vs v1.6 compliant (a very minor issue). You buy products for reasons other then standards. That means - What sells and differentiates products from each other is the features ( proprietary), inroads made by the development tools, ease of those development tools, documentation available for products/tools, expertise available in the market for those tools, ease of development and so on. Now, one can develop j2ee app's for WAS using eclipse. But developing j2ee app's for Weblogic on eclipse is not free and easy. IBM has a WAS CE ed for getting you hooked onto the eclipse platform. Once hooked, only way is to move up to WAS v6.x
Further, if everything was standard, lot of us will be rendered useless. Remember Y2K was a migration exercise for the very reason that there were no standards and everybody made money.
Overall, the migration steps are pretty straightforward. I like the chapter 3 and 5. Chapter deals with Migration Strategy. The same guidelines are applicable for any migrations. Chapter 5 deals about Common Migration Issues - which is kind of best practices when doing such things.
Check out the red book here.
- Yahoo has a superior User Interface with drag and drop capabilities and ability to wire the components - which is kind of cool. Any one with basic knowledge can get started and start creating mash ups. Google on the other hand provides more basic UI, but the ability to take things in your hand means more power and richer applications. Although this means it is really for the nerdies
- Yahoo has a pre-defined set of components/operators which can be used in combination. I believe most of the simple mashups can be easily achieved throught the same. Google on the other hand allows you to write code (HTML/CSS/JavaScript) which effectively means you can create any look and feel for your mashup.
- Yahoo gives an RSS/JSON feed your mashup which is kind of cool. Google is more of application mindset where you create visual mashup applications
You can check out some of the Yahoo Pipes here PCM News. What I did , googled for PCM related keywords, take their feed, mash them together, give a rating as per my need and generated a new feed.
There is another nice article on Yahoo Pipes and Google Mashups here.
The organization has been a .NET shop but now wants to implement the WebSphere Portal. Options - dump the entire .NET Team and hire a fresh set of WP programmers.
Or use the Mainsoft's Java EE for Portal Edition. It provides .NET extensions to WebSphere Portal, allowing you to create and deliver a complete front-end Service Oriented Architecture , with equal access to .NET and Java services.
Using a single sign-on, end users gain a personalized, role-based access to .NET and Java applications with consistent branding and navigation. In addition, business analysts can easily compose enterprise applications using .NET and Java components using WebSphere Portal's Application Templates and JSR 168 compliant Inter-Portlet Communications.
Check out the same here.
Read about one of the early adopters here.
When a new article is posted or a change made to a webpage, RSS keeps track of the changes and delivers them to the subscriber. RSS feeds are most often attached to text, images, podcasts and video.
To create RSS feeds for your site, you have variety of options. Lets explore them.
First, there are the commercial/open source programs available that allow you to generate the feeds for your site. Popular among these are
then there are online services that can be used to generate feeds. Popular among these are
then next are the corporates that might want to build there own feed generation service embedded in their application. For such discerning folks, we have the ROME open source library. Check out the same here.
Here is the sample code where the feed is generated via a java program for your content.
To see and understand, how you can write JUnits for Ajax applications, check out the following article here.
The documentation around the GWTTestCase class can be found here.
Another article talks about running JUnits for GWT in eclipse. Check out the same here.
Use the state preprocesor to revert to the initial state of the portlet. (The state preprocesor is originally designed for WML but can be used for HTML as well.)
To configure the WML state preprocessor, add the following two custom name/value property pairs to the WPStateManagerService (WebSphere® Application Server Admininstrative Console -> Resource Environment Providers -> WP StateManagerService -> Custom properties):
name = preprocessors
value = com.ibm.wps.state.preprocessors.selection
.StandardPortalSelectionImpl, com.ibm.wps.state
.preprocessors.wml.WmlPreProcessor
and
name = wmlpreprocessor.markups
value = html
once:radix is a Rapid Application Development system for Intranet and eXtranet environments. It allows developers with only basic programming skills to create sophisticated enterprise-level applications.
The decision to release the software under an open source license will allow SMEs to access Web 2.0 technology; till now only available to large firms that could afford to employ specialist programmers and database designers.
once:radix delivers world-class performance through a combination of its own software and some of the world's best open-source solutions, including PostgreSQL, JasperReports, Mozilla and Apache projects.
The first distro is planned to be released on 7th August.
BEA has introduced three new products that helps you make Web 2.0 applications
- BEA AquaLogic® Pages - Provides Drag-and-drop simplicity for creating wikis, blogs and basic Web applications
- BEA AquaLogic® Ensemble - Allows to manage Web resources – applications, components, widgets, programmable functions – and for blending these resources together in new and existing Web applications ( Mashups)
- BEA AquaLogic® Pathways – Helps to combines search, content tagging, bookmarking and activity analytics to deliver a better way to discover information and people.
IBM announced four separate technology offerings: Lotus Connections, Lotus Quickr, Info 2.0 and WebSphere Commerce.
- Lotus Connections is a suite of five purely Web 2.0 components designed to help companies find experts on topics, bring together teams around a common point and access information. The components enable users to create social bookmarks and tagging and build Web dashboards, blogs, and online communities and profiles, such as what's offered on Facebook or LinkedIn.
- Lotus Quickr is an open standards-based collaboration tool that enables teams inside and outside a company to work together across different geographies, operating systems and working styles, IBM officials said. Its collaboration capabilities include blogs, wikis—software that enables anyone to input qualified information on a Web page or site—and team space templates that support the processes necessary to get collaboration project up quickly.
- Info 2.0 is a set of tools designed to unlock data and enable business users to create mashups—the remix and repurposing of data into a single application or Web site, such as a mix of Google Maps with a real estate site to show where available homes are located.
- IBM's WebSphere Commerce - provides the ability for customers to prioritize and filter specific attributes like price, brand or product characteristics
Oracle WebCenter combines the standards-based, declarative development of JavaServer Faces, the flexibility and power of portlets and runtime customization, and a set of integrated Web 2.0 services into a new generation of context-centric, composite applications. WebCenter Services include a complete set of Web 2.0 content, search, collaboration, and communication services that can be embedded directly into applications built with the WebCenter Framework.
You can search by name or browse tags, sort by date.
Check out the same.

The interest seems to have starting going up since beginning of 2005 and is on a upward curve since then.
Again the Silicon valleys of the East (Bangalore) and West (San Francisco) take the top spots that generate the maximum interest in the term Web 2.0
Region wise, the South east countries seem to be showing lot of interest.
* The data is as of 16th July, 2007
Check out some great articles on the same here.
Compared with other styles of web services, REST is easy to implement and has many highly desirable architectural properties: scalability, performance, security, reliability, and extensibility. Despite the lack of vendor support, Representational State Transfer (REST) web services have won the hearts of many working developers. For example, Amazon's web services have both SOAP and REST interfaces, and 85% of the usage is on the REST interface.
Check out the some good articles on the same.
I believe is the Web 2.0 is nothing but a manifestation of the human behavior. Web 1.0 was more of a one way traffic. The content is published but you have no clue who is reading it and in what way the data is being used. It is like humans watching television, you can see and hear everything but have no means to participate. But we human beings have opinions, likes and dislikes, want to share things with each other, we are interested in knowing what are neighbors are doing, who is going out with whom and so on ??. In the real environment, we have our informal channels, gossip aunties and what not? Remember, lot of people read tabloids to see what celebrities are doing or not doing ?
Now, if we need to create a similar eco-system in the wired world, the Web 2.0 technologies ( Social Networking, Mashups, Folksonomy, Wikis etc) start making sense.
The irony is, Web 2.0 helps in creating the environment, which we are missing by being sitting in front on the computer.
These include language translators, maps, YouTube videos, and Wikipedia.
Check out here for more details on downloading the same.
Check out the same here.
Martin Fowler says
" Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly."
The highlighted key words indicate the advantages of having Continuous build process. The idea is have the CI up and running before the project development phase starts.
CI makes sure that the team tackles the integration issues upfront otherwise build will keep failing continuously.
Tools such as BuildForge, Anthill and the open source CruiseControl can help you achieve the CI.
Statistical reports for code quality and other code metrics (using tools like Checkstyle, PMD, Java NCSS, JDepend) can be integrated with CI process to keep a tab on the health of the code base.
As usual, I googled and came across this definition of Web 2.0 from Tim O'Reilly, which kinda of addresses the web 2.0
Web 2.0 is the network as platform, spanning all connected devices; Web 2.0 applications are those that make the most of the intrinsic advantages of that platform: delivering software as a continually-updated service that gets better the more people use it, consuming and remixing data from multiple sources, including individual users, while providing their own data and services in a form that allows remixing by others, creating network effects through an "architecture of participation," and going beyond the page metaphor of Web 1.0 to deliver rich user experiences.
In the end, applications that make use of the collective intelligence of its users/audience and able to enrich the experience of the users are truly successful. The Web 2.0 framework comprises of such technologies ( Ajax, Folksonomy, Wikis, Blogs, Mashup , Syndication etc) that allow companies to create such applications.
In the end, Web 2.0 needs to be used for creating Real enterprise value. Patty Seybold tells here, how to use the Web 2.0 principles and harness the same into a business strategy.
The esapi.jar and siapi.jar files found under the OmniFind
Some of the Top reasons
- Login process - Might be taking too long.
- Landing Page – too many portlets, data being retrieved from multiple systems
- Caching – to get that extra performance, lot of times, we try to get the whole data and cache, so that when the user clicks more or expand, we might be able to serve from the cache.
- Trace logger enabled for the Server
- Use of heavy themes
- Number of portlets / page
In these days of framework and a standard 'n' layer framework, projects are making use of Struts/JSF in the presentation tier, IoC(Spring) for the middle tier and using Hibernate/iBatis/Toplink for the data mapping.
The methodology and the pattern of using these frameworks is pretty much standard. The development standards for design, coding, testing are again pre-defined.
Given all this, my question is what value does an Architect brings to the project.
There obvious area's where I can see an architect being useful
* Design of Integration Architecture with external services/systems
* Performance Tuning of the application
* Keeping an eye on the code quality and the team to make sure that the standards are being followed
* Setting/Reviewing of the Continous Integration Build process
Again, the above tasks are more or less pre-defined.
External Systems pre-define how they need to be invoked. Not much rocket science left there.
If the Build process are good, lot of statistics for code quality and other code metrics (using tools like Checkstyle, PMD, Java NCSS, JDepend) can be generated on a daily basis.
Application tuning means running Load Tests, Checks for Memory leaks, Object usage etc - again each of these can be determined using tools available in the market.
Based on all this, where do you see the need for an Architect in a project?
The coming of Aspects in the programming world has brought so much of clean. I, no longer need to write tons of code for logging, transaction handling, security and what not. I think of a service and next I know what aspect I need to implement.
Some of the area’s where I have used or planning to use aspects
• Logging – no more putting method entry/exits
• Transaction Handling – using spring’s transaction manager
• Profiling – to implement the code instrumentation metrics
• Error Handling – the errors/exceptions can be intercepted and logged
• Security – handling security
• User Activity Tracking – log the user transactions along with the data that got changed
• Caching – caching of data
Besides this, I have aspects for things which are not easily doable in the normal world
• Transaction Retry Logic – trying for a defined ‘n’ number of times before giving up on a transaction
• Excution Flow Display – create a graph showing how the a given transaction is being processed with all the classes and methods that got invoked
To get started, please check out the following presentation here.
Here is the list of Open Source ESB products available in the market
MuleSource
LogicBlaze
Celtix
Apache ServiceMix
JBoss ESB
WebSphere Dashboard Framework gives application developers the power to create rich graphical interfaces to business data which allow the end user to make key decisons upon that data. WebSphere Dashboard Framework also provides powerful collaboaration features as well as real time alerts to provide an organization with the tools needed to make timely decisions.
This IBM Redpaper provides you with the knowledge to get started with WebSphere Dashboard Framework, as well as an in depth look into some of the key features. Whether you are a line of business user wondering what it is all about or a advanced application developer this Redpaper will give you a greater understanding of how WebSphere Dashboard Framework can be utilized within your organization.
In Order to monitor failed login attempts to WebSphere® Portal version 5.1, for example, for a business requirement for auditing purposes.
Refer to the following Tech Note.
Every body gets confused at times, on how many design patterns are there, what are those design patterns, which are the GOF patterns, what are J2EE patterns and what not. Are there any testing patterns, are there GUI patterns and so on.
Check out the following pages for synopsis of patterns
I will add to that, the team should decide early on the rules that need to be followed for these meetings. In ours, we usually had the following
- If you are coming late to the meeting, make sure to inform.
- Before the start of the meeting, make sure you have updated the white board
- No beating of the dead horse ( meaning - no debates if the team can not make/take decisions in the meeting)
- Switch Off/Turn On Vibration Mode on your cell phones during the meeting
- No cross talks during the meetings
- Violation of any above guidelines leads to a fine ( we had $1 for every offense)
The fine money collected for the week was used for having lunch/snacks during the week depending on the amount collected.
Team can decide early on which guidelines make sense and accordingly add/delete to the list. Once agreed, these need to be published and put on display where the meeting is conducted
Mock objects are dummy objects that mimic the behavior of real objects. The use of mock objects for unit testing has really picked up in recent times. Here I list some of the good articles available to helo you get started.
xmlaccess -user user -password password |
The following rules apply to the above parameters:
- The options credentialexport and passphrase are mandatory for export
or import of encrypted credential secrets during migration. - The options credentialexport and passphrase are optional for all XML
Configuration actions that do not export or import encrypted credential
secrets during migration.
Syntax element | Description |
credentialexport | A parameter without value that indicates that export of |
encryptionPassPhrase | The passphrase |
For more information about the XML command line tool, refer
to the XML configuration interface section of the appropriate information
center version.
ExportVault.xml for version 5.0.x
<?xml version="1.0" encoding="UTF-8"?> <request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PortalConfig_1.2.1.xsd" type="export" export-users="true"> <!-- Sample for exporting the credential vault data. --> <portal action="locate"> <credential-segment action="export" objectid="*"/> </portal> </request> |
Sample file
ExportVault.xml for version 5.1.x
<?xml version="1.0" encoding="UTF-8"?> <request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PortalConfig_1.3.xsd" type="export" export-users="true"> <!-- Sample for exporting the credential vault data. --> <portal action="locate"> <credential-segment action="export" objectid="*"/> </portal> </request> |
configuration interface to export credential secrets:
xmlaccess.sh -user wpsadmin |
IBM has released a tool that detects delays and hangs in WebSphere(R) trace and HTTP plug-in trace.
WebSphere® Application Server trace is used to obtain detailed information about running components, including application servers, clients, and other processes in the environment, such as the time and sequence of methods called by base classes.
IBM® Trace and Request Analyzer for WebSphere Application Server allows you to find delays and possible hangs from WebSphere trace files and HTTP plug-in traces by parsing call trees of methods and traces and calculating delays in each method and trace.
The package includes a Java™ graphical user interface (GUI) application that displays delays in lists and tables.
Check out more details here.
The tool further allows the user to modify the automatically-created categorization to incorporate any domain knowledge that the user may have in order to make the categorization more sensible. After the classification has been completed, the user can generate reports and create a classification engine for categorizing new problem tickets. In addition, IBM Unstructured Information Modeler can analyze trends by day, week, or month and can analyze correlations against a user-supplied categorical feature.
Check out the tool here.
IBM architect Tilak Mitra takes the viewpoint of a proposal leader and highlights the major steps one needs to follow, to ensure the development of a high-quality proposal.
Covers the Basics, Good to brush up in case we are forgetting something.
Check out the details here.
This article is a primer on DAO design pattern, highlighting its merits and demerits. It then introduces the Spring 2.0 JDBC/DAO framework and demonstrates how Spring addresses the drawbacks in traditional DAO design.
In my last post, I talked about Inefficiency and how it might bring rewards to your inefficiencies. Today, we shall look what options are available for Ram.
We shall try to examine what options are available for Ram.
Option 1 – At that moment, when Ram would have heard that Shyam is going onsite, he would have multiple thoughts in this mind. The first and the obvious reaction is to get frustrated. Ram’s morale will go down and in his day to day activities; he stops taking interests. Ram starts looking for other options in the market. The way the IT market is going, getting a new job and at a better salary is very easy. The moment, Ram gets his first offer, he puts in his papers.
Now, the moment Ram puts in his paper, the leadership gets into action and now Ram will be given multiple options – he will be send onsite, his salary will be hiked in next cycle and what not. Ram may/may not withdraw his resignation based on the job offers he has in hand and what he is being offered. If his wishes are fulfilled, he withdraws his resignations.
I will call this the easy option. Why? Because putting in your papers is very easy and shows lack of character. The first minor obstacle in your career and you choose the “Patli Gali” (means the easy path) option. What is the guarantee that in the next company Ram will get what he wants? One can observe several such candidates who change companies like diapers, the moment things get dirty.
Option 2 – This option is the difficult one. The path of courage and taking a stand has never been easy. When Ram heard that Shyam is going onsite, he needs to remain calm and see the situation from the organization’s point of view. The requirement is immediate and Shyam is available. Let’s see what Ram should be doing.
1. Communicate - Ram needs to talk to his manager or supervisor and apprises them of the situation. He needs to tell them about his career plans, his aspirations. Remember, if you do not tell what you want, how you expect to get it.
2. Understand – When Ram joined this project, he needs to be aware of what his expectations are and how the project assignment helps in achieving those. Majority of time, mismatch of expectations is the root cause of problems. Talking to your manager/supervisor and understanding the role, duration and expectations from the project is very important. If you know, what you are entering into, there will less of frustration.
This starts from the day, one starts talking to a potential employer organization. One needs to ask questions and understand the company policies and working culture.
3. Availability – If Ram wants to move out of the current role/ assignment, he needs to make sure that there are members in the team who can do his work in his absence. If you can not move out of your current role/assignment, you will not be able to take up the next role or the assignment. You need to make yourself redundant. You will have to work with your manager/supervisor for the same.
All the above steps require patience on Ram’s part. Things will not change in one day. But, if Ram follows the option 2, he will come across a person of formidable character. He will demonstrate qualities like – leadership, mentorship, communication and ability to create a win-win situation for both the organization and himself.
In my next post on the same subject, I will try to cover what organization can/should do to make sure Ram does not feel frustrated.
In addition to the Lotus Domino-based portlets, IBM WebSphere Portal provides Common PIM Portlets. Common PIM Portlets (CPP) can have four different back-end mail servers: Lotus® Domino®, Microsoft® Exchange, IMAP, or POP3. This means that the Portal Administrator can configure a portlet in WebSphere Portal to access your mail account if it is based on one of these back-ends.
Currently, there are two Common PIM Portlets available with WebSphere Portal:
* Common Mail Portlet
* Common Calendar Portlet
The Portal Administrator can configure the Common PIM Portlets by clicking the Configure page icon.
Once the Portal Administrator has configured the PIM Portlets, users can access the Common PIM Portlet user interface by selecting the 'My Work' tab at the top of the Portal screen. If the 'My Work' tab is not visible, click the little white right-arrow on the left side of the tabs to scroll/shift your tabs over and expose the 'My Work' tab. Once the 'My Work' tab has been selected, the PIM Portlet user interface appears, which defaults to the E-mail page containing the Mail portlet. To access the Calendar page/portlet, click the Calendar tab.
One of the observations I have made during my experiences in the IT Industry is how being an inefficient professional can actually get you ahead of your peers.
I will illustrate a scenario where we see how 2 people join an IT organization at the same time and how inefficiency can actually help you move ahead of your peer.
Ram and Shyam are 2 Java developers who join an IT organization around the same time. Both want to go onsite. Both of them get assigned to work for a client, who is developing a J2EE application. The Project Manager assigns development of 2 modules to each of them. The modules need to be completed in 2 week time frames.
Ram being the efficient worker, gets on to the task diligently. Ram goes through the requirements, the design and starts working on the development of the module. Ram puts in extra hours and wants to impress the Manager also.
Shyam being the slow and inefficient one starts going through the documents at a leisurely pace. He is also not putting any extra hours.
At the end of first week, Manager comes around to get the status of the work. Ram has made significant progress and will be able to finish his work with 2 days to spare. Shyam on the other hand has not made much progress and his module will actually slip by more then 2-3 days. Shyam will numerous reasons on why he is not able to make much progress – clarifications on requirements, design and what not.
The Manager is really worried. He needs to make sure the plan does not slip. He sees that Ram will be able to finish his work 2 days in advance. So, like the PM he is, he assigns Ram to work with Shyam and help him to come on track.
Ram upon completing his work, starts working with Shyam and see that’s lot of work needs to be done. So, he starts putting extra hours to get the work on stream.
Manager sees how Ram has bought the work on stream and how he is proving to be a valuable and critical team member.
Now, here usually 2 scenarios typically get played out.
Scenario 1:
Now, as part of the project, out of the Ram and Shyam, one has to go to onsite to help in the application deployment(can be replaced with another task). Ram should have been the obvious candidate. But, Ram being the critical, hard working and having knowledge of 2 modules can not be spared. So, Shyam gets the nod and is asked to fly. Once, Shyam reaches the client place, again, he is not up to the mark. So the manager asks Ram to help Shyam in the application deployment from offshore. Ram starts working in the client times and helps Shyam in the application deployment. At the end, when the project is successful. Since, Shyam was the face the client was seeing, he sends out an appreciation mail citing good work done by Shyam. All the program management sees the mail and Shyam is heralded as the hero.
Scenario 2:
The PM need to ramp down the team. Since, Shyam is neither performing nor critical. He is the obvious choice. Shyam is released from the project. Now, the organization gets a new project and needs to send someone to client’s site to study the requirements. Ram would have been an choice, but his PM can not release him immediately. So, Ram gets ruled out. Shyam is available and has a valid visa, becomes an automatic choice. Remember, the key here is having a valid visa and availability. The experience or skill sets does not matter. The project needs to start in 2 weeks and it is difficult to get visa for anyone else. Neither it is possible to recruit someone in such a small time span. So, Shyam flies to client site.
Moral
In both the scenario’s, Ram efficiency got punished. First, he completes his work ahead of time, so he gets pressed into helping Shyam. End of day, his knowledge of 2 modules and hard working attitude makes him a critical team member, who can not released from the project. So, he misses out both the opportunities to go onsite.
I know, this might seem to be a very specific scenario, but I see this playing out in every project.
I am not saying that Ram does not gets rewarded for his hard work. The PM might give him spot rewards.
But given the moment, when Shyam goes onsite, Ram is unable to fan tom any reasons why despite doing so much good work, he is still at offshore.
Janus Boye has posted about the dimensions to consider when looking for an Enterprise Portal product. The dimensions are categorised as
* Services
* Technology
* Intangibles
Read more about the same here.
This hands-on workbook guides you through learning how to develop portlets using the Java™ Standard Portlet API (JSR 168). In addition to getting practice using the basic API, you learn about the issues and challenges associated with portlet development. With this foundation, you can see how the frameworks can help you.
You learn the concepts of portlet development by developing a working example. Along the way, you learn what you are doing and why so that you can truly gain an understanding of what is being accomplished and why certain approaches and decisions were chosen. Portlet code is provided for each chapter so that, if you do get stuck, you can refer to the solution for that topic area. So, immerse yourself in portlet development, and work at your own pace.
This article presents five common Ajax design patterns. They vary in using HTML, XML, and JavaScript code to get data from the server.
There is this conferenceWaterfall 2006 happening on how Waterfall models is coming back. I believe it is a spoof - more like Fools Day celebration, since the date is 1st April.
Anyway, one of the presentations by Robert C Martin talks about - how designs are ruined by execution. I really liked this part
Implementation is harmful to designs! Implementation ruins the elegance, beauty, and symmetry of designs. The problem is execution; and so it is execution that must be eliminated. As a community of designers we need to insist that our designs remain unexecutable!
All we are saying, is give design a chance. The code lies and designs die. The only good design is an unexecutable design. Stop all code. Pay for design, not for code! Code is not the answer!
Check out the article here.
As enterprises start building there Enterprise Portals, one of the common use complaints is portals are too slow. The dashboards in the portal are pulling data from multiple systems and repositories. Further, the data might be structured or unstructured based on the source. Pulling all this data, cleansing this data is consuming considerable CPU cycles. All this is leading to a very bad user experience.
What’s the way out?
• One way to migrate all the data onto a common structure and repository. This will be a considerable effort. Many organizations may not want to go this way.
• Another is create some kind of common data access layer where we can pull data across disparage systems. Products like WebSphere Information Integrator - Content Ed, fit this very much. We can add also add a caching solution using something like IBM Edge Servers to cache the data.
All this allows to provide data to the Portal with out modifying existing systems and still achieve a better user experience.
Some of the other similar products in the Information Integration space are
o Business Objects Data Federator
o BEA AquaLogic Data Services
o Composite Software Information Server
o WebSphere Information Integrator
o Metamatrix
o Avaki
o XAware
Time and again, best practices have been published. It has been more of taking some of the earlier ones and adding some new info to the same. IBM has published some of the best practices when developed using WebSphere Portal. Check these out.
Java EE Best Practices
IBM API Best Practices
IBM JSR 168 API Best Practices
Happy Coding !
The timeout.resume.session parameter is not included in the/shared/app/config/services/ConfigService.properties by default, which equates to the parameter being set to "false." Therefore, if an idle session timeout is experienced, a user will see the ErrorSessionTimeout screen and be forced to re-login. The login causes a new session to be created. This session is separate from the LTPA security token which allows for Single Sign-On.
The timeout.resume.session parameter should be set to "true" in cases where you do not wish for users to see the ErrorSessionTimeout screen and have to re-login to WebSphere Portal once the inactivity timeout for the WebSphere Portal application is exceeded. An example scenario would be if you were using an External Security Manager (ESM) and Trust Association Interceptor (TAI) to handle authentication for WebSphere Portal. You could take advantage of the security invalidation and timeout features of the ESM and TAI to control when the session gets invalidated (and thus when the user gets redirected to ESM's login page to re-login).
To illustrate further, review the behaviors in the following use cases. Note that the following environment was used for testing these use cases:
WebSphere Portal v5.1.0.2 with PK09525 installed
WebSphere Application Server v5.1.1.7 (includes PK03711)
WebSphere Business Integration Server Foundation v5.1.1.3
ConfigService.properties set to:
persistent.session.level = 2 (return to last visited page before session was destroyed)
persistent.session.option =0 (user can't choose whether to resume session on login)
Session Inactivity timeout set to 5 minutes in WebSphere Administration console for WebSphere Portal application.