Friday, June 17, 2011

Icefaces Load Testing

The problem that I faced was the ability to load test icefaces page, and I could not find an open source tool that helped me to load test icefaces. What other open source tools that are there for this purpose? 

Apache JMeter is fantastic for load testing, but for testing sophisticated fully ajax layouts like icefaces applications, not sure it is really easy to use JMeter. On the other hand Selenium is really easy to capture and build a test case, but to automate and scale for load testing.

A combination of the above tools we can use to create the load testing for Icefaces application. One of the most critical features is that Icefaces generates id's dynamically on every form element, to overcome this, the developer has to set the id's normatively. That way Selenium can identify the components and able to reuse the test case.

Once the test case is recorded through selenium, we can start JMeter and re-record the selenium test case through the JMeter proxy. Once we have a JMeter test case, at this point we should be able to load test the application.

Monday, June 13, 2011

Oracle Certified Master Architect Java EE 5

The following are some useful links for the oracle certified software architect master course.

Certification Objectives:
Study Guide:
Java Ranch:
Exam Tips:
Java Ranch:

Wednesday, June 1, 2011


  1. Definition of Architecture.
    1. What is architecture? Excerpt from Sun Tone From this link
      The terms “system architecture” and “system design” are often used interchangeably,
      but in fact deal with two very different system engineering processes. System archi-tecture focuses primarily on the overall structure of a system, identifying major com-ponents and their relationships. The systems architect seeks to define:
      1. How the overall processing should be decomposed into component parts 
      2. How the major components should be organized with respect to one another and the mechanisms underlying shared system-wide operations such as
        communication and storage.
        1. Thus, the architect focuses on issues such as which components belong together or apart; which ones should be visible to one another; which should be replicated; how they should be distributed; how they should talk to one another; where they should be stored; and so on.
  2. Infrastructure of an Architecture.
    1. Transaction Management.
    2. Security
    3. Distribution.
    4. Communication.
      1. You provide a default method for developers to implement the above features consistently.
  3. Creating an architecture means you have created an infrastructure that addresses service level requirements.
    1. When does architecture stop and design begins, there is a never clear answer.
    2. Architecture’s focus is on what is going to be built. Design’s focus is how that architecture is going to be built.
    3. For experienced designers it is not needed to provide a detailed documentation as for less experienced ones.
  4. When creating an architecture it is important to identify the system limitations.
    1. Funds
    2. Resources
    3. Time
  5. When making decisions in the architectural process, these decisions need to be documented, so that we do not have to repeat ourself over and over again.