General discussion

  • Creator
  • #2272313

    Tech Spot


    by munish k gupta ·

    blog root

All Comments

  • Author
    • #3164632

      Rational Tools: What to use when !

      by munish k gupta ·

      In reply to Tech Spot

      I have always found it difficult to keep track of the RAD tools and where are they supposed to be used. Today, I am listing down the RAD Tool options for Design and construction phase.

      Design and construction tools
      IBM Rational provides tools for architecture, design modeling, construction, model-driven development, architected rapid application development (RAD), component testing and runtime analysis activities. These tools help developers maximize their productivity when building business applications, software products and systems, and embedded systems and devices.

      • IBM Rational Software Architect: A design and construction tool for software architects and senior developers creating applications for the Java platform or in C++ that leverages model-driven development with the UML and unifies all aspects of software application architecture
      • IBM Rational Software Modeler: A UML-based visual modeling and design tool for architects, system analysts, and designers that need to ensure that their specifications, architecture, and designs are clearly defined and communicated with their stakeholders
      • IBM Rational Web Developer for WebSphere Software: Build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use.
      • IBM Rational Application Developer for WebSphere Software: Quickly design, develop, analyze, test, profile and deploy Web, Web services, Java, J2EE and Portal applications with a comprehensive IDE.
      • IBM Rational Rose Technical Developer: Supports the most advanced modeling constructs, including model execution and fully executable code generation, resulting in the highest levels of productivity.

      Hopefully, it helps in selecting the right tools for the right work.

      Filed in: IBM

    • #3164629

      Rational Testing Tools

      by munish k gupta ·

      In reply to Tech Spot

      Continuing my previous post which detailed on what Rational Tools are available to build and construct, here is the list of the Tools from Rational used for Software Testing.

      Testing tools enable running quality assurance on software products, testing for code consistency, quality, functionality and performance.

      • IBM Rational Manual Tester: A manual test authoring and execution solution employing principles of automation, organization and reuse to innovate a commonly used testing practice.
      • IBM Rational Functional Tester: An advanced, automated functional and regression testing tool for testers and GUI developers who need fine-grained control and flexibility for their testing of Java, .NET and Web-based applications.
      • IBM Rational Performance Tester: A performance test creation, execution and analysis tool for teams validating the scalability and reliability of their Web-based applications before deployment.
      • IBM Rational PurifyPlus allows developers to create faster, more reliable J2EE and J2SE code. It provides host-based memory profiling, performance profiling, and code coverage analysis.
      • IBM Rational Test RealTime provides host-based memory profiling, performance profiling, and code coverage analysis for the J2SE/J2ME developer, plus adds runtime tracing, and does so for cross-platform development efforts. Rational Test RealTime also has an integration with JUnit to extend the value of the Java industry’s popular unit testing tool to the J2ME and embedded marketplace.

      Filed in: IBM

    • #3164630

      Best Practices for IBM Workplace WCM V5.1.0.x

      by munish k gupta ·

      In reply to Tech Spot

      This compilation of tips and guidelines from services, development, and support personnel about IBM? Workplace Web Content Management? is based on daily product experience including real customer engagements. This information includes selected topics and applies to version 5.1.0.x.; other versions might have different best practices. If you are currently involved in or just considering implementing a Workplace Web Content Management system, you can use it to help guide your work. You need a basic understanding of the Web Content Management product to understand the topics discussed.

      Filed in: WPS

    • #3164631

      Liferay 4.0 released

      by munish k gupta ·

      In reply to Tech Spot

      Liferay Portal 4.0.0 has been released, with fine-grained permissioning, support for Websphere 6, and Weblogic 8.x, Alfresco integration, JSR-170 support, full-page caching, and more. It includes many bundled portlets and themes, and can be deployed on most application server/database combinations, including deployment in servlet containers (as opposed to a full application server).

      Liferay also supports single-signon and user customization.

      Filed in: Portals

    • #3155440

      Scaling Java Applications

      by munish k gupta ·

      In reply to Tech Spot

      You have built a Java Application. Now, as the application usage increases, the application needs to be scaled up. The only way to go is scale up (horizontal or vertical). Now the problem is that the application was never built to run in multiple JVM?s. There is no data synchronization, failover, session replication, distributed cache mechanism built in.

      This is the need that the following products intend to fulfill.

      ? Tangosol Coherence
      ? JBoss Cache
      ? Gigaspaces
      ? GemStone
      ? Terracotta

      These products allow you to distribute your data but still making the application believe that their is a single cache and single user sessions repository.

      Filed in: J2EE

    • #3146049


      by munish k gupta ·

      In reply to Tech Spot

      I was looking at products for scaling up an existing client/server kinda of application. I am posting here my findings on Terracotta.


      Allows the applications to be clustered to run on multiple JVM?s without changing source code and to get linear scalability and total fault tolerance. Terracotta injects clustering and caching into off-the-shelf JVMs.

      How it works?
      The technical approach that Terracotta uses is client/server, relies on byte code manipulation to track object changes, uses XML descriptors to define data synchronization points, and communicates object deltas. Theoretically, it should have efficiency advantages if you have a very large object graph and you frequently access that graph but only change small bits of information within it.

      Technical Architecture
      At the heart of the Terracotta architecture sits the Terracotta Server. Terracotta provides a set of infrastructure software installed on an inexpensive server. Multiple Terracotta Servers can be clustered together to make a high-availability hub shared by many application servers, even across dispersed geographies.
      The server’s primary job is to replicate state across application servers in the data center, manage connections from various clustered JVMs, and ensure coherence and consistency of application data. A single Terracotta server can provide clustering services for all of the Terracotta modules in use in the Data Center.
      Existing servers within the data center need only have the Terracotta libraries installed on them. Terracotta libraries provide various ‘modules’ which communicate with the Terracotta server and enable a variety of clustering services.

      Terracotta Fail over
      The Terracotta Server can operate with a ‘hot back-up’ to meet availability requirements. In the event of a failure in the active Terracotta Server, the back-up will automatically take over transactions from various clustering clients and ensure that the replicated state is maintained. No state or cache information is lost in any application node. And, failover takes only seconds. Connected clients will notice only a brief pause during the failover process.

      ? API Less ? One can simply plug in Terracotta (install the libraries), configure (edit appropriate configuration files), and play (start Terracotta and run the application)
      ? Provides a management console to provide metrics about connected clients, object/content caches


      ? Requires an external server
      ? Supports session replication for WebLogic Server 8.1 and Tomcat 5.0
      ? Terracotta server required a hot backup for 24X7 applications

      Filed in: J2EE

    • #3141859

      Portlets creations using WebSphere Portlet Factory

      by munish k gupta ·

      In reply to Tech Spot

      This tutorial shows how to develop a WebSphere portlet application for IBM? WebSphere? Portal V5.1 using Eclipse and WebSphere Portlet Factory. It also shows you, how to use WebSphere Portlet Factory to develop a portlet that retrieves and displays data from a database.

      Filed in:
    • #3141860

      DB2 9 introduces pureXML? support

      by munish k gupta ·

      In reply to Tech Spot

      DB2 9 introduces pureXML? support, which means that XML data is stored and queried in its inherent hierarchical format. To query XML data, DB2 offers two languages, SQL/XML and XQuery. You can use XQuery and SQL separately, but you can also use XQuery embedded in SQL and vice versa. This gives you a lot of flexibility and options for querying your XML data.

      Check out more here.

      Filed in:
    • #3141861

      Best pactices for model development with IBM WebSphere Portlet Factory

      by munish k gupta ·

      In reply to Tech Spot

      This collection of best practices, tips, and suggestions from the IBM? WebSphere? Portlet Factory development team is for developers who are either currently using or are expecting to use WebSphere Portlet Factory.

      Developers with any level of experience can use Portlet Factory to quickly create complex portlets and integrate them with their WebSphere Portal based portals. As with the use of any tool, there are good practices for architectural, application structure, and solid implementation. This document provides guidance for those practices based on many person-years of experience. It also includes a section on selecting Builders to help you navigate the Builder palette.

      Filed in:
    • #3141862

      Developing, building, and deploying the portal application

      by munish k gupta ·

      In reply to Tech Spot

      Design your processes and set up your environments for developing, building, and deploying your portal. Learn how to control the source code and build components, ways to manage continuous integration and deployment to test environments, and how to deploy production release packages. Learn best practices, which tools to use, and strategies for creating you own processes.

      Check out here.

      Filed in:
    • #3143860

      Subversion 1.3.2 released

      by munish k gupta ·

      In reply to Tech Spot

      Subversion 1.3.2 has been released. Subversion has been touted as the next generation of CVS, where it takes on the strengths of CVS and has added quite a new set of features to the release.

      Check out here.

      Filed in:
    • #3142860

      Build strong, flexible J2EE apps with a WebSphere cluster environment

      by munish k gupta ·

      In reply to Tech Spot

      I had talked about scaling the existing applications to work in a cluster environment here. Subsequently, I had posted on findings on the products available in the market Terracotta here.

      As part of the same study, I came across this article, which details what all goes into building a strong, extensible, and flexible J2EE apps, tap into a WebSphere? cluster environment. This article describes what you need to consider when designing a Web-based application in a WebSphere Application Server cluster environment, including application file update and synchronization, serialization of session objects, and dynamic caching.

      Filed in:
    • #3142859

      Embedd wsadmin scripts in Application using JMX

      by munish k gupta ·

      In reply to Tech Spot

      The wsadmin scripting interface is a useful interface for managing your WebSphere? configuration, particularly when you need to automate tasks or perform other custom management. However, using Java Management Extensions (JMX) extends this powerful solution even further, allowing administrative capability to be directly embedded in the functions of your J2EE application.

      This article explains how a wsadmin script works, and how it can be easily rewritten as a servlet to accomplish the same task in JMX. We briefly discuss how WebSphere maintains its configuration information in XML files, and how equivalent JMX code can be used to accomplish what is done by way of wsadmin. Using IBM Rational Application Developer, the example demonstrates how JMX can provide a valuable solution in advanced custom administration for system integrators, independent service vendors, and application developers.

      Filed in:
    • #3110799

      Open Source Rules Engine – JBoss Rules 3.0 released

      by munish k gupta ·

      In reply to Tech Spot

      JBoss Rules is the supported and branded release of the Drools project and part of the JBoss JEMS product range. Drools is an enhanced Rules Engine implementation, ReteOO, based on Charles Forgy’s Rete algorithm tailored for the Java language.

      Drools provides for Declarative Programming and is flexible enough to match the semantics of your problem domain with Domain Specific Languages.

      Check out the same here.

      Filed in: J2EE

    • #3112805

      Application Framework for Java EE 5

      by munish k gupta ·

      In reply to Tech Spot

      JBoss SEAM 1.0 represents a redefinition of web application architecture that extends the POJO + annotation-driven and configuration-by-exception programming model of EJB 3.0 into the entire web application stack. It integrates Java EE 5 technologies like EJB 3.0, JSF and JMS into a unified programming model and narrows the semantic gap between the business domain and the Java programming language by deeply integrating technologies like jBPM for business process and user interaction modelling and Drools for management of business rules.

      Seam 1.0 has the following new features:

      * Seam Remoting – an AJAX-based remoting layer for EJB 3.0 components and JMS – allows client-side JavaScript to call EJB session beans directly
      * Support for JSR-168 compliant portal engines such as JBoss Portal
      * Elegant handling of internationalization and JSF messages via EL-based interpolation
      * Helper components for JMS senders/publishers
      * JSF tag library
      * Redesigned XML-based configuration facility
      * Support for integrating databinding architectures
      * Eventing architecture for loosely-coupled components
      * Seam Logging
      * JBoss Cache integration for cluster-wide state replication
      * Experimental Drools integration
      * Compatibility with the Java EE 5 reference implementation
      * Provides unique contextual state management architecture

      Check out for more details here.

      Filed in: J2EE

    • #3112806

      JMS Vendors

      by munish k gupta ·

      In reply to Tech Spot

      I was evaulating JMS vendors for our messaging needs. I could not find any one single source which details the various JMS vendors in the market. So, I have compiled a list of vendors which came across

      Open Source Implementations


      then you have the biggies of the messaging world.

      Filed in: J2EE

    • #3167865

      Business Logic : why it resides where it resides ?

      by munish k gupta ·

      In reply to Tech Spot

      Every application has business logic. The logic might be some kind of validations or making calls in an order or doing some number crunching and spitting out the results. The business logic now can reside in multiple places. The business logic can reside from Presentation layer to business layer to the data layer ( even go down to Stored Procedures).

      In my experience, what I have seen, the team’s expertise decides where the business logic resides. If the team is strong in DB skills and DBA’s have agreat say, the business logic ends up in database. If the GUI is very important and team does not much skills in n-tier architecture, the business logic ends up in presentation layer. If team has worked with some kind of EJB’s or has object mapping experience (either Toplink or Hibernate ), the team will create a middle tier (either POJO’s or EJB’s) to handle the business logic.

      I am not debating the merits and demerits of where the business logic should reside. What I am trying to say is, why it resides where it is resides.

    • #3278587

      India and Contribution to Open Source

      by munish k gupta ·

      In reply to Tech Spot

      India, despite boasting of a huge pool of IT professionals has a very dismal record when it comes to contributing actively to the open source software movement. I am trying to dig into some of the reasons why India has a poor record and what can be done to set the record straight.


      1. Socio/Economic factors:
        Some of the reasons why an individual in India wants to be in the IT profession
        • Excellent salaries (compared to any other field)
        • Chance to go out of country and even settle there
        • Great working conditions /White collar job
        • Social pressure
          • Parents push their children because IT is the hot field
          • In some regions in India, having a male child in IT field and who has been out of country, means a windfall for the family, as the boy commands a hefty premium (read as dowry)
        • Lack of opportunities in other fields

        Love of technology/programming is not a factor to join the IT profession. I am talking about 99 % of the individuals here. Once you enter the field, you may start take a liking, but the top motivation factors are always the one I mentioned above.

      2. Industry Organization:
        IT is relatively a new young field in India and is currently expanding at a very high rate. Since most of the work done, relates to providing bodies to the clients and able to leverage the cost arbitrage. What this means is, if the company wants to achieve a 20%-30% YoY growth, it needs to keep hiring more people. This means to manage this ever-growing infantry of programmers, you need to have an equal number of Senior Engineers, Project Leads , Technical Leads, Project Managers and so on. Now, what you do, you promote people.

        This means, an above average person can easily expect a career growth where in

        • 2-3 year experience, person is a Senior Engineer
        • 3-5 Years experience you become a Project/Technical lead
        • 5-7 years of experience you become a Project Manager/Architect.

        The designations might vary from company to company, but everyone is promising a similar kind of growth. If a person doesn?t get this growth internally, you jump companies, to get this career growth.

        Compare this to US, where a person works for an average of 6-7 years to move to a Senior System Analyst/Senior Developer role. People would have spent minimum of 12-14 years in the industry before they get promoted to Project Managers/Architects.

        In India, anybody who applies for a job and says I have spent 6 years in programming and has no people/project management experience will have a tough time finding a job. Some niche technical skill people might survive, but otherwise for general Java/Microsoft/DB skills, getting a decent job becomes difficult. As a result, in India, it is very difficult to find a 10 year experience person doing hard core programming.

        Now, can an individual with 3-4 years of IT industry who starts moving into more people management role be expected to be contributing towards the open source? I don?t think so.

        Companies have started offering two career tracks to people ? Technical and Management.HR will tom-tom about the same, but beyond a certain level, Technical people find lack of growth opportunities and have to eventually move to Management Track only.

        Companies like Red HAT has started scholarships to recognize and kick start the Open Source Program movement in India. Check out for details here and here.

      3. History:
        In the developed world, IT has been a 4 decade old phenomenon, where as IT has been a recent phenomenon in India. It?s only in the last 10-12 years; we are seeing the scorching pace at which the people are joining the IT industry. For any movement to come into mainstream the professional stream needs to embrace the soul of the movement and you need enough members to make a difference. Both of these factors, takes time.

        Open source usually takes time to grow and India lacks a long history.

      How long it will take for India to start making contributions to Open Source?

      My prediction:
      I would say, give another 10 years. Why I say so?

      • By then we will have a big enough pool of people who have been in the IT industry for 15-20 years.
      • There would be enough opportunities for people to stick to the technical stream. Companies will start providing more meaningful technical roles. As companies start moving up the value chain, the demand for experienced technical people will start growing.
      • Opportunities in other fields will open up. Other professions will start paying well. Generation entering the field in next 10 years will do out of love of computers and technology. Money will not be the top most factors for this generation.
      • Salaries will hit a plateau. No promotions or job hops will lead to higher percentage of salaries increases.
      Filed in: OpenSource

Viewing 17 reply threads