J2EE Development Using Open Source and Free Tools - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

J2EE Development Using Open Source and Free Tools

Description:

Scarab. Custom. Bug Tracking. CVS. CVS. Source Control. DBVisualizer ... Bug Tracking Scarab. Middle. BOF 2577. 28. Bug Tracking. Middle. Conclusions ... – PowerPoint PPT presentation

Number of Views:95
Avg rating:3.0/5.0
Slides: 45
Provided by: andrew999
Category:

less

Transcript and Presenter's Notes

Title: J2EE Development Using Open Source and Free Tools


1
J2EE Development Using Open Source and Free Tools
  • Aaron Mulder
  • Chief Technical Officer, Chariot Solutions
  • Erin Mulder
  • Java Architect, Texcel Inc.

2
In this BOF we will
Discuss low-cost J2EE development
environments Compare open source and free tools
to commercial alternatives
Beginning
3
Topics We Will Cover
  • Operating Systems
  • Databases
  • IDEs
  • Application Servers
  • Database Browsers
  • Source Code Control
  • Bug Tracking
  • Mailing Lists
  • Optimization Tools
  • UML Modelers
  • Build Tools
  • Test Frameworks

Beginning
4
Current Projects
  • Relational Financial Systems, a Swing/EJB
    accounting application for private industry
  • iCore, a JSP/EJB accounting application for
    government agencies
  • Concert, a JSP/EJB convention management system

Beginning
5
What We Develop On Today
Beginning
6
Not just about cost
In each of these areas, also consider
  • Comfort, Productivity, Morale
  • Will developers be happy with the tools that are
    chosen?
  • Will more advanced tool features speed up the
    project?
  • How much time will be lost learning new
    interfaces?
  • How portable does the development environment
    need to be?
  • Expected production environment
  • Do customers / corporate policies dictate certain
    vendors?
  • Will testing be easier if you match the
    production environment?
  • Will diverse development platforms help avoid
    portability pitfalls?

Middle
7
Operating Systems
Take a look at
  • Linux
  • (Windows if already installed on developer
    workstations)

Middle
8
Operating Systems
Conclusions
  • Take application requirements into account
  • Use what youre most productive with
  • Multiple development platforms within one project
    may help productivity and morale, but can
    sometimes be an obstacle to teamwork

Middle
9
Databases
Take a look at
  • PostgreSQL
  • MySQL
  • Hypersonic

Middle
10
Databases
Conclusions
  • Several worthy free offerings which are easy to
    administrate
  • Often the best choice for applications that need
    to ship with an embedded database
  • Best to match production database where possible

Middle
11
IDEs
Take a look at
  • Eclipse
  • NetBeans
  • Forte Community Edition

Middle
12
IDEs Eclipse Screenshot
Middle
13
IDEs NetBeans Screenshot
Middle
14
IDEs Forte C.E. Screenshot
Middle
15
IDEs
Conclusions
  • User interfaces are not always as sleek and
    well-tested
  • Latest versions include some great refactoring
    features that arent available in many
    commericial tools
  • EJB Features missing

Middle
16
Application Servers
Take a look at
  • Servlet/JSP
  • Tomcat
  • Jetty
  • EJB
  • JBoss
  • JOnAS

Middle
17
Application Servers
Conclusions
  • Servlet engines ready for prime-time
  • EJB containers support EJB 1.1 well, but dont
    fully support EJB 2.0 or clustering
  • Administration via config files
  • Interfaces could use some polish

Middle
18
Database Browsers
Take a look at
  • DBVisualizer
  • TORA (Oracle only)
  • TOAD Freeware version (Oracle only)

Middle
19
DB Browsers DBVisualizer
Middle
20
DB Browsers TORA
Middle
21
DB Browsers TOAD
Middle
22
Database Browsers
Conclusions
  • If you work with databases, you should definitely
    be using a database browser
  • Free offerings usually fit the bill
  • DBAs and developers relying heavily on specific
    features of non-Oracle databases may want to
    invest in a DB-specific tool (for query analysis,
    stored procedure language tools, custom admin
    tools, etc.)

Middle
23
Source Control
Take a look at
  • CVS
  • RCS
  • CSSC (free SCCS)

Middle
24
Source Control
Conclusions
  • CVS is a clear winner
  • Allows concurrent (non-locking) access for
    developers working on the same file
  • Many IDEs have built-in support
  • Great web interface available (CVSWeb)
  • Easily configurable to take action on commits
  • Great for secure, remote development

Middle
25
Bug Tracking
Take a look at
  • Bugzilla and variants
  • Scarab (in beta)

Middle
26
Bug Tracking Bugzilla
Middle
27
Bug Tracking Scarab
Middle
28
Bug Tracking
Conclusions
  • Free offerings get the job done
  • Usability issues
  • Dont integrate as well with requirements
    tracking, testing and general project management
    products
  • Limited workflow support

Middle
29
Mailing Lists
Take a look at
  • Mailman
  • Majordomo
  • E-mail aliases

Middle
30
Mailing Lists
Conclusions
  • E-mail aliases are simple, but require someone to
    manage
  • Mailman is a great mailing list solution
  • Simple (un-)subscription procedures for end users
  • Web interface for administration
  • May need an archiving solution

Middle
31
Profiling / Optimization
Take a look at
  • Suns JVM Xprof Xrunhprof options
  • ???

???
Middle
32
Profiling / Optimization
Conclusions
  • Every project can benefit from the built-in JVM
    tools
  • Open source profiling/optimization tools are
    scarce and largely outdated
  • If you need to spend a lot of time tuning
    performance, invest in a commercial product
  • May need a load-generation tool to investigate
    performance under realistic conditions

Middle
33
Modeling/Design Tools
Take a look at
  • ArgoUML
  • Poseidon Community Edition (an
    ArgoUML extension)

Middle
34
Modeling Poseidon Screenshot
Middle
35
Modeling/Design Tools
Conclusions
  • Great for simple modeling needs
  • Not as well-known or comfortable to designers as
    commercial products
  • Advanced code generation and some useful export
    features not available in free versions
  • Can integrate with IDE, but not as tightly as
    some commercial offerings

Middle
36
Build
Take a look at
  • Ant
  • Make
  • Shell scripts, batch/command files

Middle
37
Build
Conclusions
  • Ant is the clear winner
  • Lots of predefined tasks, including source code
    control, building, packaging, deploying, testing,
    documentation
  • Same build script supports any OS
  • Nested build scripts
  • Works well in automated builds

Middle
38
Testing
Take a look at
  • JUnit

Middle
39
Testing
Conclusions
  • Works well for unit testing
  • Not really a fit for integration testing
  • Doesnt integrate with specs, bug-tracking, etc.
  • No automated interface for testing GUIs

Middle
40
Putting it all together
  • Recent IDE releases integrate (or provide
    plug-ins for) many of these tools, including CVS,
    JUnit, Tomcat, Poseidon, Ant
  • Ant ships with tasks for CVS, JUnit, mail, etc.
  • CVS has a common web interface (CVSWeb) and can
    be integrated with a mailing list to e-mail
    URLs to graphical diffs
  • Biggest integration shortfall is spec to test to
    bug tracking workflow

41
Conclusion
You dont need to spend a bundle many open
source and free tools are of excellent quality.
Target your budget for maximum productivity
gains, or to support platforms your customers
demand.
End
42
(No Transcript)
43
More information
  • Linux
  • www.linux.org
  • Eclipse
  • www.eclipse.org
  • Forte C.E.
  • www.sun.com/forte/ffj
  • PostgreSQL
  • www.postgresql.org
  • MySQL
  • www.mysql.com
  • Hypersonic
  • hsqldb.sourceforge.net
  • Jetty

Tomcat jakarta.apache.org/tomcat JBoss www.jboss.
org JOnAS www.objectweb.org/jonas DBVisualizer w
ww.minq.se/products/dbvis TOAD www.toadsoft.com
Ant jakarta.apache.org/ant Majordomo www.greatcir
cle.com/majordomo
Mailman www.mysql.com Scarab scarab.tigris.org C
VS www.cvshome.org Bugzilla www.bugzilla.org Arg
oUML argouml.tigris.org Poseidon
C.E. www.toadsoft.com JUnit www.junit.org
44
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com