Rapid Application Development Challenges In Java

50 %
50 %
Information about Rapid Application Development Challenges In Java
Education

Published on July 27, 2009

Author: tusharvjoshi

Source: slideshare.net

Description

Java User Group Nagpur First Meet
Presentation given by Harshvardhan Karkar

Rapid Application Development Challenges in Java Harshavardhan M. Karkar Java User Group Nagpur http://www.jugnagpur.com

Rapid Application Development What is Rapid Application Development Project Development is configured quickly for all resources in the team. Easy to use Source Control Mechanism Easy to configure the Development Setup Development Resources are easy to use and quickly configurable such as Development IDE Libraries Design Tools Debugging Tools Code Automation Automated code is available for development Quick Integration of Libraries Automated Syntax error check Intelligent Code Browsing Quick Debugging & Analyzing of program flows Run time tracing and debugging Effective and easy presentation for Variable values, Object Values, Output values.

What is Rapid Application Development

Project Development is configured quickly for all resources in the team.

Easy to use Source Control Mechanism

Easy to configure the Development Setup

Development Resources are easy to use and quickly configurable such as

Development IDE

Libraries

Design Tools

Debugging Tools

Code Automation

Automated code is available for development

Quick Integration of Libraries

Automated Syntax error check

Intelligent Code Browsing

Quick Debugging & Analyzing of program flows

Run time tracing and debugging

Effective and easy presentation for Variable values, Object Values, Output values.

Rapid Application Development… What is Rapid Application Development…. Quick Integration with Database Easy Connection Configuration Services Configuration Quick Integration with Content and External Tools In Short the Rapid Application Development allows the project human resources to focus on Development Items and Business Logic Quick Testing Taking away the Labor of Managing Configuration Integration of Tools and Libraries Build and Testing Procedures

What is Rapid Application Development….

Quick Integration with Database

Easy Connection Configuration

Services Configuration

Quick Integration with Content and External Tools

In Short the Rapid Application Development allows the project human resources to focus on

Development Items and Business Logic

Quick Testing

Taking away the Labor of

Managing Configuration

Integration of Tools and Libraries

Build and Testing Procedures

Rapid Application Development Challenges in Java Java Development Is Based mostly on Open Source / Freely Available Development Resources Challenges are divided primarily into following categories viz. Configuration Challenges Configuration of Development Environment for Project Team Development IDE Source Control Database Libraries External Tools

Java Development

Is Based mostly on Open Source / Freely Available Development Resources

Challenges are divided primarily into following categories viz.

Configuration Challenges

Configuration of Development Environment for Project Team

Development IDE

Source Control

Database

Libraries

External Tools

Rapid Application Development Challenges in Java Java Development Configuration Challenges … Individual Testing Setup Local Database Servers / Application Servers Setup Testing and Debugging through the IDE Consistency in Development environment and machines setup. Staging / Deployment Testing Setup Configuration & Maintenance / Regular updating of Staging and Deployment Servers Depends and Changes largely based on the Operating System specific environment.

Java Development

Configuration Challenges …

Individual Testing Setup

Local Database Servers / Application Servers Setup

Testing and Debugging through the IDE

Consistency in Development environment and machines setup.

Staging / Deployment Testing Setup

Configuration & Maintenance / Regular updating of Staging and Deployment Servers

Depends and Changes largely based on the Operating System specific environment.

Rapid Application Development Challenges in Java .. Java Development Development Challenges Web Development Challenges Mostly a single developer develops the View (HTML / CSS) and the required Server Side & Client Side code. HTML / CSS development if done by different individuals often causes rework HTML / CSS / DHTML development nearly manual and mostly takes time. Debugging of Server Side and Client operations is again most time consuming process. Integration of Web – MVC Frameworks in Web Development is a Challenge Strong need of Automation in this area is desired.

Java Development

Development Challenges

Web Development Challenges

Mostly a single developer develops the View (HTML / CSS) and the required Server Side & Client Side code.

HTML / CSS development if done by different individuals often causes rework

HTML / CSS / DHTML development nearly manual and mostly takes time.

Debugging of Server Side and Client operations is again most time consuming process.

Integration of Web – MVC Frameworks in Web Development is a Challenge

Strong need of Automation in this area is desired.

Rapid Application Development Challenges in Java .. Java Development Development Challenges Integrating Web Development Challenges Integrating the Web Development with the Core Application Framework is Challenge for unit testing and debugging. Application Web Configuration Server Specific configuration changes Application Contents Resources Security Configuration Authentication Secured Connections Communicating with Other Web Applications Integrating Payment Gateways

Java Development

Development Challenges

Integrating Web Development Challenges

Integrating the Web Development with the Core Application Framework is Challenge for unit testing and debugging.

Application Web Configuration

Server Specific configuration changes

Application Contents Resources

Security Configuration

Authentication

Secured Connections

Communicating with Other Web Applications

Integrating Payment Gateways

Rapid Application Development Challenges in Java .. Java Development Development Challenges … Up gradation of Tools and Libraries For fitting a Library to use in a project for a specific purpose involves R & D Changes in versions / releases / logic the already installed libraries takes extra efforts for Integrating Testing Debugging.

Java Development

Development Challenges …

Up gradation of Tools and Libraries

For fitting a Library to use in a project for a specific purpose involves R & D

Changes in versions / releases / logic the already installed libraries takes extra efforts for

Integrating

Testing

Debugging.

Rapid Application Development Challenges in Java .. Java Development Development Challenges … Core Development / Application Framework Development Challenges Applications based on Multiple JVM’s Applications tested on deployment environment which is different from the development environment. Testing of Performance Issues Testing of Applications involving Threading, Serialization Extending or incorporating Frameworks for presentation and control

Java Development

Development Challenges …

Core Development / Application Framework Development Challenges

Applications based on Multiple JVM’s

Applications tested on deployment environment which is different from the development environment.

Testing of Performance Issues

Testing of Applications involving Threading, Serialization

Extending or incorporating Frameworks for presentation and control

Rapid Application Development Challenges in Java .. Java Development Knowledge Management Challenges Most of the day to day development problems are resolved with the help of search engines especially visiting various community and open source support sites having Source code Information pages Libraries References and Samples

Java Development

Knowledge Management Challenges

Most of the day to day development problems are resolved with the help of search engines especially visiting various community and open source support sites having

Source code

Information pages

Libraries

References and Samples

Rapid Application Development Challenges in Java .. Java Development Knowledge Management Challenges Unless the searched knowledge / Information is put to use and tested the complete set of problems do not come to surface. If problems are found out after putting the solution to use then it further involves R&D. Most Common Cases are related to using MVC Frameworks, Server Configuration and Deployments, Multi Browser Scripting is also a very large Challenge.

Java Development

Knowledge Management Challenges

Unless the searched knowledge / Information is put to use and tested the complete set of problems do not come to surface.

If problems are found out after putting the solution to use then it further involves R&D. Most Common Cases are related to using MVC Frameworks, Server Configuration and Deployments, Multi Browser Scripting is also a very large Challenge.

Rapid Application Development Challenges in Java .. Java Development Knowledge Management Challenges … If problems are found out after putting the solution to use then it further involves R&D. Most Common Cases are related to using MVC Frameworks, Server Configuration and Deployments, Multi Browser Scripting is also a very large Challenge. Crucial Time is also spent in establishing whether the information received is accurate and most latest or relevant and is “compatible” to the situation we are using in our project / development effort.

Java Development

Knowledge Management Challenges …

If problems are found out after putting the solution to use then it further involves R&D. Most Common Cases are related to using MVC Frameworks, Server Configuration and Deployments, Multi Browser Scripting is also a very large Challenge.

Crucial Time is also spent in establishing whether the information received is accurate and most latest or relevant and is “compatible” to the situation we are using in our project / development effort.

Rapid Application Development Challenges in Java .. Java Development Knowledge Management Challenges … Integration of applications with 3 rd Party Tools / Software Crucial R & D efforts go in before a 3 rd Party Tool / Software is integrated in the current project scenario Need for highly skill full resource increases in this case. Maintaining Common / Updated / Accurate Knowledge Base is a Challenge in the project.

Java Development

Knowledge Management Challenges …

Integration of applications with 3 rd Party Tools / Software

Crucial R & D efforts go in before a 3 rd Party Tool / Software is integrated in the current project scenario

Need for highly skill full resource increases in this case.

Maintaining Common / Updated / Accurate Knowledge Base is a Challenge in the project.

Rapid Application Development Challenges in Java .. Java Development Project Management Challenges Since keeping a uniform knowledge base of implementation is a challenge, human resources in development are mostly bound to a specific area of the project. When these resources are required to be given a different task in another area of project a learning curve is involved. Not all human resources are good in all areas of the development which is again a challenge for circulating tasks. The above 3 points are a potential risk for the project in case the resource is going out of the scope for several reasons.

Java Development

Project Management Challenges

Since keeping a uniform knowledge base of implementation is a challenge, human resources in development are mostly bound to a specific area of the project.

When these resources are required to be given a different task in another area of project a learning curve is involved.

Not all human resources are good in all areas of the development which is again a challenge for circulating tasks.

The above 3 points are a potential risk for the project in case the resource is going out of the scope for several reasons.

Rapid Application Development Challenges in Java .. Java Development Project Management Challenges …. Configuration Management is a Challenge right from development setup to deployment setup Since lot of operations involve R&D a sufficient buffer always needs to be maintained in the Estimates Resource skill requirements and experience levels are higher Production Deployment challenges often come across when the project is released and commonly involve high efforts due to lack of environment consistency.

Java Development

Project Management Challenges ….

Configuration Management is a Challenge right from development setup to deployment setup

Since lot of operations involve R&D a sufficient buffer always needs to be maintained in the Estimates

Resource skill requirements and experience levels are higher

Production Deployment challenges often come across when the project is released and commonly involve high efforts due to lack of environment consistency.

Rapid Application Development Challenges in Java .. Java Development Project Management Challenges …. Since keeping a uniform knowledge base of implementation is a challenge, human resources in development are mostly bound to a specific area of the project. When these resources are required to be given a different task in another area of project a learning curve is involved. Not all human resources are good in all areas of the development which is again a challenge for circulating tasks. The above 3 points are a potential risk for the project in case the resource is going out of the scope for several reasons.

Java Development

Project Management Challenges ….

Since keeping a uniform knowledge base of implementation is a challenge, human resources in development are mostly bound to a specific area of the project.

When these resources are required to be given a different task in another area of project a learning curve is involved.

Not all human resources are good in all areas of the development which is again a challenge for circulating tasks.

The above 3 points are a potential risk for the project in case the resource is going out of the scope for several reasons.

Cumulative Effect of Challenges in Java Development High Initial and Overall Cost of the project due to. Skilled Human Resources R & D efforts and Increased time line Highly Skilled & Experienced Technical Project Management Higher Maintenance cost. Higher Knowledge Management cost. No. of Resources required are more. Learning curve costs are often high.

High Initial and Overall Cost of the project due to.

Skilled Human Resources

R & D efforts and Increased time line

Highly Skilled & Experienced Technical Project Management

Higher Maintenance cost.

Higher Knowledge Management cost.

No. of Resources required are more.

Learning curve costs are often high.

Reasons of Challenges in Java Development Lack of Automation Development tools which eliminate / avoid the labor of manual work. Lack of quick configuration of development and testing setup operations, this point means we do not have proper / reliable knowledge base of configurations for Development IDE Application Servers Database Servers Testing tools Lack of Standardization procedures for Coding Standards and testing procedures Reference Standards i.e. how to establish that the specified solution is correct. Impact Analysis procedures

Lack of Automation Development tools which eliminate / avoid the labor of manual work.

Lack of quick configuration of development and testing setup operations, this point means we do not have proper / reliable knowledge base of configurations for

Development IDE

Application Servers

Database Servers

Testing tools

Lack of Standardization procedures for

Coding Standards and testing procedures

Reference Standards i.e. how to establish that the specified solution is correct.

Impact Analysis procedures

Reasons of Challenges in Java Development … Human Resources in Project do not have at times Complete knowledge about Using the Development IDE Proper Standards of Development and Configurations Unit Testing the development The ideal way of working for a Human resource on the project is based on Search Engines Solutions and References Found Which is not improper but is lacking the proper impact analysis This way of working is often developed because of time lines in delivery .

Human Resources in Project do not have at times

Complete knowledge about

Using the Development IDE

Proper Standards of Development and Configurations

Unit Testing the development

The ideal way of working for a Human resource on the project is based on

Search Engines

Solutions and References Found

Which is not improper but is lacking the proper impact analysis

This way of working is often developed because of time lines in delivery .

Why Rapid Application Development In Java Java Development is looked upon as a Costly Development in terms of Costly Human Resources Time Line Requirement is often Higher Post Development Maintenance needs Moderate to Highly Skilled Resource Higher Overall Cost on an average cost of usage of Java in development will involve 1.5 times higher estimates than that in other Technologies Other technologies provide a better alternative to Java due to Automated / Semi Automated Development Setup Rapid Development tools allowing focus on Business Logic Low Cost of Resources Fast Internet Responses Quick Development and Testing Java Becomes an Option No 2. Java is Chosen over other Technologies for development when Licensing and Infra Structure Costs for Other Technologies Weigh Higher than Java

Java Development is looked upon as a Costly Development in terms of

Costly Human Resources

Time Line Requirement is often Higher

Post Development Maintenance needs

Moderate to Highly Skilled Resource

Higher Overall Cost on an average cost of usage of Java in development will involve 1.5 times higher estimates than that in other Technologies

Other technologies provide a better alternative to Java due to

Automated / Semi Automated Development Setup

Rapid Development tools allowing focus on Business Logic

Low Cost of Resources

Fast Internet Responses

Quick Development and Testing

Java Becomes an Option No 2.

Java is Chosen over other Technologies for development when

Licensing and Infra Structure Costs for Other Technologies Weigh Higher than Java

Some Proposed Solutions Standardization of Knowledge Base for Application Development Tools and Libraries to be used Establishing reliable references / reference sites and correct refined ways of up gradation Improvisation of Human Resources Knowledge Level for Ways of Learning and upgrading knowledge covering Features of Development Standards and optimal development techniques in regular day to day development to minimize R & D and development time. Impact Analysis procedures Unit Testing Maintaining / Updating Knowledge base Ready to Deploy Configurations There could be a organizational level Ready to Deploy Application Setup covering various Java Application types which can be quickly reused, probably with use of Virtualization (VM) and Ready Source controls and Development Setup. Ready Knowledge Repository acting as a training data package covering Basic elements and standards Basic framework information

Standardization of Knowledge Base for

Application Development

Tools and Libraries to be used

Establishing reliable references / reference sites and correct refined ways of up gradation

Improvisation of Human Resources Knowledge Level for

Ways of Learning and upgrading knowledge covering

Features of Development Standards and optimal development techniques in regular day to day development to minimize R & D and development time.

Impact Analysis procedures

Unit Testing

Maintaining / Updating Knowledge base

Ready to Deploy Configurations

There could be a organizational level Ready to Deploy Application Setup covering various Java Application types which can be quickly reused, probably with use of Virtualization (VM) and Ready Source controls and Development Setup.

Ready Knowledge Repository acting as a training data package covering

Basic elements and standards

Basic framework information

Questions

Add a comment

Related presentations

Related pages

AJAX Java Web Framework for Rapid Application Development ...

"Honestly, OpenXava has changed the way rapid Application Development should be. ... "RAD App development in Java Language .. helped us a lot"
Read more

What is rapid application development (RAD) ? - Definition ...

... (rapid application development) ... Penumbra Sofware's Super Mojo is a visual programming tool that generates Java code. It's described as a rapid ...
Read more

Java Studio Creator: An IDE to Create Web Applications

The fundamental driver for corporate application development is access to ... Sun Java Studio Creator is a rapid application development ...
Read more

Rapid Application Development: Project Management Issues ...

... and performed rapid application development (RAD). Project ... The challenges of managing ... Successful Rapid Development
Read more

Rapid Application Development – Wikipedia

Rapid Application Development ... (Application Development) ... Als RAD Tools gelten Visual Studio LightSwitch für .NET sowie XDEV 3 für Java oder der ...
Read more

Rapid Java Web Application Development with Tapestry

Rapid Java Web Application Development with Tapestry Tapestry is a powerful and innovative framework for developing component-based Web applications.
Read more

List of graphical user interface builders and rapid ...

Graphical user interface builders are often incorrectly called rapid application development tools. This article covers both.
Read more

Rapid application development - Wikipedia, the free ...

Rapid application development (RAD) ... (less design and control) present special challenges when using a RAD approach for very large scale systems.
Read more

Rapid development with NetBeans - Java tutorial ...

... and necessarily provides a rich set of automated capabilities that can facilitate the rapid development of web applications ... Java development ...
Read more