Conference Presentation - Inside JavaBlackBelt: Architecture and Design
This document describes the presentation "Inside JavaBlackBelt" that John Rizzo gives at some conferences in 2007-2008. Other conference presentation: eXtreme Visual Learning.Short Description
The co-founder of JavaBlackBelt explains the internals of the JavaBlackBelt.com platform.
- strategic technical choices made and their evolutions, from inception to v3.
- main technical problems faced
- deep technical aspects
- architecture and project life/management aspects
- Requirements
- General Architecture
- Web (Struts 1 & 2, HTML/CSS, Ajax)
- Spring
- Data (RDB, Hibernate)
- Project (team, lifecycle)
- Infrastructure (Eclipse distributions, datacenters,...)
Full Description
The founder of JavaBlackBelt explains the internals of the JavaBlackBelt.com platform.- strategic technical choices made and their evolutions, from inception to v3.
- main technical problems faced
- classic Java modern architecture
- made by a little team, the (too) agile way
- 2 technical refactorings in 3 years
- typical business web application, with typical Java technologies
- deep technical aspects
- architecture and project life/management aspects
The main purpose of the presentation is that you learn something, from our experience, that you can apply to your current or next Java project. Pre-requisites:
We'll very quickly re-explain the main technical background needed (as IoC, Hibernate, JSPs,...), but knowing these technologies will definitely help understanding the more concrete technical aspects of this presentation. Duration:
From 45 to 120 minutes (according to the conference and audience background). Example:
The Hibernate part of the presentation has been transcripted to the article Inside JavaBlackBelt: Hibernate. It gives a good sample of the presentation tone and technicity.
Table of Content
Requirements- Functional: JavaBlackBelt.com, what is that about ?
- Time/budget
- general design & architecture of the application
- layers, domain model
- main framewoks used
- Struts
- Struts 1 to Struts 2 migration
- Struts 2 pitfalls
- Additional Java web classes
- Some plumbing, we had to do ourselves
- HTML/CSS
- From very bad JSP, to 400 lines JSP, to 100 lines JSP
- From Tiles to Sitemesh
- From tables to divs
- Ajax / JavaScript
- Ajax, really ?
- Cases: Mootools, overlib, congratulation box.
- From Spring 1 to Spring 2
- Declarative transactions
- Struts 2 integration
- RDB
- Normal form
- Team work management with moving DB.
- Hibernate
see Inside JavaBlackBelt: Hibernate article.- From v2 to v3
- Annotations vs XML
- Hibernate session management
- Time consuming bugs and problems
- Team
- Dynamics
- External contributions
- budget: real vs optimum
- Lifecycle
- From inventing to stable mode
- Test phase
- Bug/Issue tracking
- from text file, to JavaForge, to JIRA with MyLyn.
- Eclipse: from Eclipse to MyEclipse to Exadel to WTP
- Source: From CVS, to subversion.
- DB: PostGres
- AppServer: Apache & Tomcat
- OS: Linux
- HW: From eApps, to Javalobby, to HostBasket
The following topics are optional, according to the remaining time for the presenter:
Performance Tuning
- SQL Profiler with Hibernate
- Memory leaks
- In production alerts
- Web application needs batch jobs ? - examples.
- From Timers to Quartz
- Why producer/consumer
- Velocity templates
- Spam - Us ?
- Let us run your code (virus) on our server...
- Clustering and failover
- DB - storing the jar files
- From MvN, to JavaLobby, to JavaBB.
- Integration needs & strategy
