SlideShare a Scribd company logo
1 of 10
Development Environment
for Java
Collaboration


Collaboration tools such as GitHub and Huddle are used for
collecting and sharing information within the development teams
and teams such as release, testing and other development teams
Release Management



Version Control System such as SVN and CVS are used to maintain design
and code artifacts
Branching is done to isolate onto a separate line of development and then
merged and tagged
Build Environment



Build tools such as Apache Maven can be used to organize the
code, compile, validate and test it
Continuous Integration Tools can build, validate and test the changes on
going basis
Design










Design for optimum usage of computer resources such as
Memory, CPU, I/O & Connection
Follow design principles such as OCP, Liskov Substitution
, IOC, Interface, etc
Create the Stub classes following JEE design patterns for
Controller, View, Model, Listener /
Command, Delegate, Facade, Manager & DAO
Generate UML diagrams such as Collaboration, Sequence, Activity
and Deployment diagrams using the stubs
Generate JDependency & JavaNCSS reports and re-factor the stubs
based on these report output
Design for singleton objects, object pooling, caching (both service
& data), queing techniques
Use annotation extensively for injecting business services & dao
entities, webservice, messaging and transaction
Design security as a cross concern (filter, aop, etc) rather than
handling it part of the application logic
UML
Coding







Be conversant with the Java API specification for
the core and dependent libraries before referring
to forums / google
Use Automated Review tools / plugins such as
Eclipse Metrics, PMD, Findbugs
Update local copy from version control
frequently, provide adequate Comments and
perform atomic commits
For Minor Enhancements perform Impact Analysis
on UI, Service, DAO, Configuration, Master Data
and provide Help & Release Document
Deployment
Use Maven and Eclipse plugins to
deploy and bootstrap with
configuration and master data
 Use Maven Profiles to maintain
configuration for various
environments i.e dev, test and prod

Testing







List down the High Level Scenarios under
Functional, Security & Performance categories
Identify the various environments and the test
cycles
Automate Testing using
JUnit, TestNG, Marathon, etc
Mock actual services with SOAP UI, EasyMock, etc
Track Code Coverage using Cobertura, Emma, etc
Continuous Integration

More Related Content

What's hot

Ember App Kit & The Ember Resolver
Ember App Kit & The Ember ResolverEmber App Kit & The Ember Resolver
Ember App Kit & The Ember Resolver
tboyt
 
Basic javaprogramming(session1)
Basic javaprogramming(session1)Basic javaprogramming(session1)
Basic javaprogramming(session1)
Barm Bannasan
 

What's hot (20)

First java tutorial
First java tutorialFirst java tutorial
First java tutorial
 
HTC Global Services
HTC Global ServicesHTC Global Services
HTC Global Services
 
JSF 2.3: Integration with Front-End Frameworks
JSF 2.3: Integration with Front-End FrameworksJSF 2.3: Integration with Front-End Frameworks
JSF 2.3: Integration with Front-End Frameworks
 
Web Apollo: A Web-based Genomics Annotation Editing Platform. 13ArthGen
Web Apollo: A Web-based Genomics Annotation Editing Platform. 13ArthGenWeb Apollo: A Web-based Genomics Annotation Editing Platform. 13ArthGen
Web Apollo: A Web-based Genomics Annotation Editing Platform. 13ArthGen
 
Sql injection brief for slideshare
Sql injection brief for slideshareSql injection brief for slideshare
Sql injection brief for slideshare
 
Concurrency Programming in Java - 02 - Essentials of Java Part 1
Concurrency Programming in Java - 02 - Essentials of Java Part 1Concurrency Programming in Java - 02 - Essentials of Java Part 1
Concurrency Programming in Java - 02 - Essentials of Java Part 1
 
Advanced Jasper Reports
Advanced Jasper ReportsAdvanced Jasper Reports
Advanced Jasper Reports
 
C# Advanced L01-Intro and Warmup
C# Advanced L01-Intro and WarmupC# Advanced L01-Intro and Warmup
C# Advanced L01-Intro and Warmup
 
Concurrency Programming in Java - 03 - Essentials of Java Part 2
Concurrency Programming in Java - 03 - Essentials of Java Part 2Concurrency Programming in Java - 03 - Essentials of Java Part 2
Concurrency Programming in Java - 03 - Essentials of Java Part 2
 
C# Advanced L10-Workflow Foundation
C# Advanced L10-Workflow FoundationC# Advanced L10-Workflow Foundation
C# Advanced L10-Workflow Foundation
 
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
 
SQL injection
SQL injectionSQL injection
SQL injection
 
Java programming - intro
Java programming - introJava programming - intro
Java programming - intro
 
Cqrs intro
Cqrs introCqrs intro
Cqrs intro
 
Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
 
מתפ
מתפמתפ
מתפ
 
EPiServer Deployment Tips & Tricks
EPiServer Deployment Tips & TricksEPiServer Deployment Tips & Tricks
EPiServer Deployment Tips & Tricks
 
Ember App Kit & The Ember Resolver
Ember App Kit & The Ember ResolverEmber App Kit & The Ember Resolver
Ember App Kit & The Ember Resolver
 
Transformations
TransformationsTransformations
Transformations
 
Basic javaprogramming(session1)
Basic javaprogramming(session1)Basic javaprogramming(session1)
Basic javaprogramming(session1)
 

Similar to Java Development Environment

Ram Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration DeveloperRam Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar
 
Notes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationNotes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And Modernisation
Alan McSweeney
 
Sr_Lead_QA_April_2016
Sr_Lead_QA_April_2016Sr_Lead_QA_April_2016
Sr_Lead_QA_April_2016
Nick Yefimov
 
Sid K
Sid KSid K
Sid K
Sid K
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java ee
Ranjan Kumar
 

Similar to Java Development Environment (20)

Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)
 
Ram Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration DeveloperRam Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration Developer
 
Serverless in Azure with Functions
Serverless in Azure with FunctionsServerless in Azure with Functions
Serverless in Azure with Functions
 
Notes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationNotes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And Modernisation
 
Sr_Lead_QA_April_2016
Sr_Lead_QA_April_2016Sr_Lead_QA_April_2016
Sr_Lead_QA_April_2016
 
GAJENDRA_JAVA_J2EE_Profile
GAJENDRA_JAVA_J2EE_ProfileGAJENDRA_JAVA_J2EE_Profile
GAJENDRA_JAVA_J2EE_Profile
 
Sid K
Sid KSid K
Sid K
 
Lap Around Visual Studio 2010 Ultimate And TFS 2010
Lap Around Visual Studio 2010 Ultimate And TFS 2010Lap Around Visual Studio 2010 Ultimate And TFS 2010
Lap Around Visual Studio 2010 Ultimate And TFS 2010
 
KumarJava
KumarJavaKumarJava
KumarJava
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java ee
 
Krishnagopal Thogiti_Java
Krishnagopal Thogiti_JavaKrishnagopal Thogiti_Java
Krishnagopal Thogiti_Java
 
PRIYANKA Resume
PRIYANKA ResumePRIYANKA Resume
PRIYANKA Resume
 
Selenium training in pune course content advanto software
Selenium training in pune   course content advanto softwareSelenium training in pune   course content advanto software
Selenium training in pune course content advanto software
 
Bijeet_ITInfra_CV
Bijeet_ITInfra_CVBijeet_ITInfra_CV
Bijeet_ITInfra_CV
 
Android Deep Dive
Android Deep DiveAndroid Deep Dive
Android Deep Dive
 
Rajiv ranjan resume-us
Rajiv ranjan  resume-usRajiv ranjan  resume-us
Rajiv ranjan resume-us
 
SAIGANESH CHINTALA_JAVA
SAIGANESH CHINTALA_JAVASAIGANESH CHINTALA_JAVA
SAIGANESH CHINTALA_JAVA
 
Team Maven
Team MavenTeam Maven
Team Maven
 
Ashok_Resume
Ashok_ResumeAshok_Resume
Ashok_Resume
 

Recently uploaded

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Recently uploaded (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 

Java Development Environment

  • 2. Collaboration  Collaboration tools such as GitHub and Huddle are used for collecting and sharing information within the development teams and teams such as release, testing and other development teams
  • 3. Release Management   Version Control System such as SVN and CVS are used to maintain design and code artifacts Branching is done to isolate onto a separate line of development and then merged and tagged
  • 4. Build Environment   Build tools such as Apache Maven can be used to organize the code, compile, validate and test it Continuous Integration Tools can build, validate and test the changes on going basis
  • 5. Design         Design for optimum usage of computer resources such as Memory, CPU, I/O & Connection Follow design principles such as OCP, Liskov Substitution , IOC, Interface, etc Create the Stub classes following JEE design patterns for Controller, View, Model, Listener / Command, Delegate, Facade, Manager & DAO Generate UML diagrams such as Collaboration, Sequence, Activity and Deployment diagrams using the stubs Generate JDependency & JavaNCSS reports and re-factor the stubs based on these report output Design for singleton objects, object pooling, caching (both service & data), queing techniques Use annotation extensively for injecting business services & dao entities, webservice, messaging and transaction Design security as a cross concern (filter, aop, etc) rather than handling it part of the application logic
  • 6. UML
  • 7. Coding     Be conversant with the Java API specification for the core and dependent libraries before referring to forums / google Use Automated Review tools / plugins such as Eclipse Metrics, PMD, Findbugs Update local copy from version control frequently, provide adequate Comments and perform atomic commits For Minor Enhancements perform Impact Analysis on UI, Service, DAO, Configuration, Master Data and provide Help & Release Document
  • 8. Deployment Use Maven and Eclipse plugins to deploy and bootstrap with configuration and master data  Use Maven Profiles to maintain configuration for various environments i.e dev, test and prod 
  • 9. Testing      List down the High Level Scenarios under Functional, Security & Performance categories Identify the various environments and the test cycles Automate Testing using JUnit, TestNG, Marathon, etc Mock actual services with SOAP UI, EasyMock, etc Track Code Coverage using Cobertura, Emma, etc

Editor's Notes

  1. http://maven.apache.org/guides/getting-started/index.html
  2. http://www.uml2.org/documentation_eclipseuml_2008/index.html