January 11, 2006
Open Discussion
February 14, 2006
Canceled for Valentines Day.
March 14, 2006
Tom Parker - Ajax
Nerd Books
already lists four
Ajax books
.
O'Reilly
has just released one Ajax book and will soon release four others between March
and July of 2006.
APress
released one Ajax book in 2005, released two in February, and five to be
announced!
Others
Ajax is making its presence on the book shelves not because it is a new
idea, rather because it is being accepted by us, the developers. There are some great products being developed with Ajax techniques
and Tom will share with us some of the currently available products found on the Net.
We raffled off the book JavaServer Faces from
O'Reilly.
Sandwiches and drinks were sponsored by
TEKsystems
and
The Scheuble Group
.
April 11, 2006
Open Discussion
May 9, 2006
Open Discussion
June 13, 2006
Edward Gibbs - Fitnesse
Fitnesse
is a Java based acceptance testing tool to bridge the gap between customers and
developers where the customers and QA staff can actually specify the acceptance tests in a wiki or a spreadsheet
even before the code is written. The developer then comes in writes the code, hooks up a lightweight fixture using
Fitnesse and runs the tests until they all pass. Adding new test scenarios is really easy.
Edward will be presenting an introduction to Fitnesse.
We raffled off the book
Fit for Developing Software:
Framework for Integrated Tests
from The Scheuble Group.
Sandwiches and drinks were sponsored by
TEKsystems
and
The Scheuble Group
.
July 11, 2006
Nick Chalko
Starter Session - Eclipse Profiler
Advanced Session - Eclipse Test and Performance Tools Platform
The Tracing and Profiling Tools Project is a project in the Eclipse TPTP Top-
Level Project, it addresses the tracing and profiling phases of the application lifecycle. The Tracing and Profiling
Tools Project provides frameworks for building tracing and profiling tools by extending the TPTP Platform. The
framework has the capability of collecting and analyzing application performance information The project includes
exemplary profiling tools for both single-system and distributed Java applications through a JVMPI monitoring agent
that collects trace and profile data.
Nick will be presenting an introduction to eclipse's profile and then a use case
for the test and performance tools platform.
We raffled off the book
Tomcat: The Definitive Guide
from O'Reilly.
Sandwiches and drinks were sponsored by
TEKsystems
and
The Scheuble Group
.
August 8, 2006 Roman Hustad
Starter Session - Security Breach Examples
Advanced Session - Java Development Security Techniques
Roman will demonstrate how web applications are broken into using typical remote
attack techniques. These examples give the Java developer a better understanding of the importance of security when
writting software applications. For the advanced section we will examine some security techniques. This
meeting is one of the first meetings to formally address security and we will be defining the direction we will take
for future meetings on this topic. You will want to be there for this presentation that will be the most advanced
discussion of Java security we have ever experienced at SacJUG!
Roman Hustad is a Principal Consultant at Foundstone, where he delivers software
security services for Fortune 500 and government clients. He is an expert in Java security and web application
development, a frequent speaker and a Sun Certified Web Component Developer. Roman is the lead instructor for
Foundstone's Writing Secure Code - Java (J2EE) course and also teaches the Building Secure Software course.
We raffled off the Sun Microsystems Press
Core Security Patterns
: Best Practices and Strategies for J2EE�, Web Services,
and Identity Management book.
The book was sponsored by Bob Rowden. The sandwiches and
drinks were sponsored by
TEKsystems
and
The Scheuble Group
.
September 12, 2006 Joel Thompson
Relational
Persistence for Java and .NET
Hibernate
is a powerful, high performance object/relational persistence and query service.
Hibernate lets you develop persistent classes following object-oriented idiom - including association,
inheritance
,
polymorphism
,
composition
, and
collections
. Hibernate allows you to express queries in its own portable
SQL
extension (
HQL
), as well as in native SQL, or with an object-oriented
Criteria and Example API
. Unlike many other persistence solutions, Hibernate does not hide the power
of SQL from you and guarantees that your investment in relational technology and knowledge is as valid as always.
The
LGPL
open source license allows the use of Hibernate and
NHibernate
in open source and commercial projects. Hibernate is a
Professional Open Source
project and a critical
component of the
JBoss Enterprise Middleware System
(JEMS) suite of products. JBoss, a division of
Red Hat
, offers a range of 24x7 Professional Support, Consulting, and Training services to
assist you with Hibernate. We raffled off the Manning Publications "
Hibernate in Action
" by Christian Bauer and Gavin King book.
The sandwiches and drinks were sponsored by
TEKsystems
and
The Scheuble Group
.
October 10, 2006
Neeraj Sangal Dependency Structure Matrix
Using DSMs to Manage Architecture
This talk will present a new technique which utilizes inter-module dependencies
to represent and manage the architecture of complex software applications. Using these dependencies we build models
which provide a precise big picture view of the architecture. These models use a Dependency Structure Matrix (DSM)
to provide a developer's view of the architecture that is highly scalable compared to the directed graph approaches
that are common today. We will demonstrate this approach by applying it to number of commonly used applications each
consisting of hundreds or thousands of classes. We will show how dependency analysis can be used to extract the
architecture for applications such as Ant, JUnit, jEdit, Eclipse� Platform, and NetBeans� Platform. Finally,
actual dependency models will be created for multiple generations of an application to highlight how architecture
evolves and how it often begins to degrade. Time permitting (and with sufficient
interest) we will examine any java software application that you are familiar with and would like to share with the
group. This could be your own application or an open source application. Please bring jar files of this application
with you.
Suggested reading before hand
-
What is a DSM?
-
Using Dependency Models to Manage Complex Software Architecture (OOPSLA 2005)
-
DSM WebSite
Background Material
- Steven D. Eppinger, "Innovation at the Speed of Information",
Harvard Business Review, January 2001.
- Baldwin, C.Y. and Clark K.B., The Power of Modularity Volume 1, MIT
Press, Cambridge, MA, 2000.
- Simon, H.A., The Sciences of the Artificial (3rd ed.). The MIT Press,
Cambridge, MA, 1996.
We raffled off a free license of the Lattix application
sponsored by Lattix.
The sandwiches and drinks were sponsored by
TEKsystems
and
The Scheuble Group
.
November 14, 2006
Anil Bhatt, Software Consultant, DOJ California Domain Driven
Design
This talk will present Domain Driven Design using Java, J2EE, Hibernate and
Spring. Domain Driven Design is a design and development approach, which puts the core business model
at the central focus and makes sure that software design and code is an accurate expression of the underlying
business model it is trying to automate. What uniquely differentiate one Enterprise application from
another is the business model it represents, the business process it automates and the governing business rules.
Domain driven design primarily focuses on evolving an object oriented domain model, which truly represents the
underlying business model, and encapsulating all domain business logic within this model. This makes software
maintenance and enhancement much easier as the core application behavior and business logic is well encapsulated
within the domain, instead of being scattered all over. Domain driven design also attempts to keep the
core domain model and related code well decoupled from mundane infrastructure code like persistence. The core domain
objects and the behavior encapsulated within these objects are the real intellectual property of a given enterprise
application. So keeping the core domain objects decoupled from the mundane infrastructure code helps increase the
longevity (useful lifetime) of an application as infrastructure code like persistence is much more subject to change
because of rapid advancement in technology. Traditional development treats persistence objects (for example
entity ejbs or persistent pojos in Java world, which typically map to underlying database tables) as just dumb
structures merely used to hold data persisted in database. Domain driven design elevates the status of these objects
to living, breathing domain objects, which not only represent persistent data, but core domain behavior and business
logic.
We will discuss a set of best practices, concepts, patterns,
software development methodologies and technologies, which make domain driven design possible. I'll also share my
real world experience, and challenges faced while implementing domain driven design in a recent project. Although we
will primarily focus on concepts, we will also discuss how technologies like Hibernate and Spring make
implementation of domain driven design easier.
Suggested reading before hand -
-
Domain-Driven Design: Tackling Complexity in the Heart of Software
by Eric Evans: Addison-Wesley Professional; 1st edition (August 22, 2003)
-
Applying Domain-Driven Design and Patterns: With Examples in C# and .NET
by Jimmy Nilsson: Addison-Wesley Professional (May 8, 2006)
-
Patterns of Enterprise Application Architecture
by Martin Fowler: Addison-Wesley Professional; 1st edition (November 5, 2002)
Notes - The
presentation material will assume familiarity with object oriented design and analysis. Familiarity with ORM tools
like Hibernate and dependency injection frameworks like Spring is not required, but will be helpful.
We raffled off the O'Reilly "
Programming Jakarta Struts
" by Chuck Cavaness book.
The sandwiches and drinks are sponsored by
TEKsystems
and
The Scheuble Group
.
December 12, 2006
Tim Schafer, Senior Developer, FSP An introduction to
Glassbox: Just Tells You What BrokeTM.
Glassbox
is a troubleshooting agent for Java applications that automatically diagnoses common problems.
Because Glassbox's troubleshooting knowledge is built in,
anyone can isolate a failing connection or a slow-running query instantly. You don't need to analyze log files or
graphs. Just one click, and Glassbox tells you in plain English what broke. Spending too much time
reading log files? Too hard to get fixes? Glassbox works differently. It's not a manual tool or data viewer and
there's no need to change your code or rebuild your Java application. Just drop in Glassbox and get answers.
Monitoring Java code via Aspect Oriented Programming
Glassbox monitors your application through the Java virtual
machine (JVM), which gives it a top-down view of the application's activity and allows it to infer problems in other
processes. JDBC activity in the app server, for example, will reveal how well the database is responding.
The interface to the JVM doesn't involve byte code instrumentation of your production code but is done via
aspect-oriented programming (AOP), a standards-based technology for combining separately-developed Java modules at
load time. AOP instrumentation happens at class load time (or, if you prefer, at compile time). Glassbox requires no
changes to your source code or build process, so it can work with legacy .jar files.
Suggested reading before hand -
-
AspectJ in Action: Practical Aspect-Oriented Programming
by Ramnivas Laddad: Manning
Links - Glassbox
AspectJ
Notes - A walk through of installation and basic usage will be
given for the starter session. During the advanced session we'll look under the hood to how AOP and AspectJ in
particular make Glassbox work.
We raffled off the O'Reilly "
Head First Open-Oriented Analysis & Design
" by Brett D. McLaughlin, Gary Pollice & David
West book.
The sandwiches and drinks were sponsored by
TEKsystems
and
The Scheuble Group
.
|