|SacJUG Meeting Archive
January 11, 2011
Reviewed Ted Neward's "Tech Predictions, 2011 Edition".
We barely made it through the list.
The sandwiches, desert and drinks were sponsored by
The Scheuble Group
February 8, 2011
System Analyst & Software Developer
Phunctional System Integration
System Integration (PSI)
is a Java testing harness for managing the life cycle of Java Web Application containers, including the starting,
stopping, and deployment. PSI alleviates the need to have an external
container such as
running to test your Web Applications, as PSI will dynamically create the container in your testing process. This is
in contrast to
which requires you to modify and keep running an existing installation of a Servlet container. If you are using
, PSI could construct and mediate a Servlet container for your Selenium process to consume.
For this session's demo we will be discussing Jetty, Maven, a Prime Number
generator, RESTful services (JAX-RS), Spring, TestNG, Tomcat, and Wicket.
|We raffled off an O'Reilly book!
The sandwiches, desert and drinks were sponsored by
The Scheuble Group
March 8, 2011
Laws That Govern SDLC
A presentation of what can be called laws that govern SDLC. These laws were
described in the book "The Mythical Man-Month" by Frederick P. Brooks, Jr.
Many social factors are at play during the development of a software product.
Most technical problems have long been solved. The management and control of these social factors determine the
quality and cost of a software product.
But most importantly for the programmer, these social factors cause major
headaches and frustration. Understanding the laws of SDLC can improve a programmers quality of life and encourage
programmers to discover new ways to overcome these SDLC laws.
April 12, 2011
is a collection of related projects enabling developers to utilize POJO-style domain models in their applications in
ways extending well beyond Object/Relational Mapping.
Brian will present a discussion on Hibernate resources, tools, and server
environments available for developing Hibernate solutions. With Brian's depth of knowledge about software languages
and language parsers, you can bet that there will be a fair amount of discussion about the pro and cons of
Hibernate's overall strategy and its integration into other technologies (frameworks, tools, and servers).
May 10, 2011
Mark presented a comparison of patterns that are in common use. Some patterns
differ only in their intent of purpose. Others differ only in their intent of effect, structure versus run-time. A
few are very similar yet differ in their intended application. While a few exist for the sole purpose of lively
For the advanced session we continued our discussion on other patterns and
selected some more patterns for comparisons that Mark will present to the group in future meetings.
Mark identified two works that are used as guidelines and principles for crafting object oriented software:
The group offered these books for design pattern references (not in any particular order):
- Design Patterns: Elements of Reusable Object-Oriented Software By Erich Gamma,
Richard Helm, Ralph Johnson, John M. Vlissides
First Design Patterns By Eric T Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra
- Design Patterns in Java By Steven John Metsker, William C. Wake
- Patterns of Enterprise Application Architecture By Martin Fowler
- Enterprise Integration Patterns: Designing, Building, and Deploying Messaging
Solutions By Gregor Hohpe, Bobby Woolf
- Core J2EE Patterns: Best Practices and Design Strategies By Deepak Alur, Dan
Malks, John Crupi
- Domain-Driven Design: Tackling Complexity in the Heart of Software By Eric Evans
- Amazon's Complete Selection of Christopher Alexander Books
For the purpose of illustrating differences between design patterns the group offered these factors:
- Cost / Complexity / Maintenance Effort
- Phase: Static / Instance and Structure / Runtime
- Mutability / Immutability
- Application and Purpose
- Object Oriented Principles (Barbara Liskov, Jeannette Wing)
June 14, 2011
July 12, 2011
Language Features As A Library
A brief talk on the experimental
typeloader for Gosu and some discussion about
, a small Gosu-based web framework.
Protocols provide a way to achieve duck typing in Gosu without sacrificing static
verification. This functionality is achieved by introducing Protocol Types into Gosu via The Open Type System.
Ronin is a strongly typed MVC web framework for the Gosu programming language. It
integrates seamlessly with (but can be used independently of) Tosa, a Gosu-based object-relational mapping layer.
August 9, 2011
Composed Iteration With Decoration
A presentation continuing the discussion of patterns within Java, including
implementation and applicable theory. This session will focus on three patterns: Iteration, Composition, and
September 13, 2011
With proper mark-up/logic separation, a POJO data model, and a refreshing lack of
XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and
brittle code for powerful, reusable components written with plain Java and HTML.
October 11, 2011
is a web application framework for
Internet Applications (RIA)
architecture. This means that the largest part of the application logic runs securely on the server.
is used on the browser side to ensure a rich and fluent user experience.
Vaadin is a large collection of UI components. You compose the application user interface from components
such as Buttons, Tables, Trees and Layouts. The components use events, listeners and data binding to communicate
with each other and with your business logic.
Vaadin is a robust architecture for rapid application development. The component-based architecture together
with statically typed Java language and data binding features help you build applications that are easily
modularized and refactored as needed. The IDE and tooling support including visual designing tool help you to build
web user interface extremely fast.
Presentation includes live coding of a RIA application using 100% Java.
November 8, 2011
Gradle pushes declarative builds to a new level. It allows users to provide there own declarative elements and to
customize the behavior of the build-in ones. Thus enabling concise, expressive and maintainable builds. All this is
build on a rich, flexible imperative layer of tasks.
With its Deep API, Gradle allows you to hook in and customize every aspect of the build, be it configuration
or execution behavior.
Gradle comes with many optimization strategies for building fast and yet reliably. It has a powerful support
for multi-project builds and transitive dependency management. It allows to integrate with your existing Ant/Maven
builds and your Ivy/Maven/Custom repositories.
December 13, 2011
With proper mark-up/logic separation, a
data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap
the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and