[Sacramento Java Users Group]
[Home] [Members] [Announce] [Sponsors] [Resources]
SacJUG Meeting Archive

February 11th, 2003 - Patrick Linskey, VP of Engineering, SolarMetric

Earlier this year, the Java Data Objects (JDO) specification was approved through the JCP in a landslide vote 14-0. The Java Data Objects specification provides a standard way for persisting objects and is showing a great deal of promise by increasing application portability, reducing development cycle time, and improving code quality. Applications written with JDO can be ported seamlessly across any data store without any recompilation or changes at the source level. Developers using JDO are seeing 20-40% decrease in coding. Java Data Objects works equally well in managed environments as well as non-managed environments.

The following topics presented:

  • Introduction to the JDO standard;
  • The benefits of the JDO API;
  • A comparison of JDO to other persistence APIs;
  • The JDO enhancement process;
  • JDO's public interfaces;
  • Examples of how to persist data using JDO;
  • Examples of how to retrieve data leveraging the JDO Query Language (JDOQL);
  • A description of how to use JDO with EJBs.

March 11, 2003 - Chris Scheuble - Installation for Apache Jakarta Tomcat
ExitCertified - Introduction to Java Servlets & Java Server Pages

April 8, 2003 - Chris Scheuble - Installation for JBoss

JBoss is an award winning Java application server developed in open source. Known for its ease of use, modularity and simplicity, JBoss is a cutting edge Java app server. Just as we installed Tomcat in March I will show how to install JBoss on the same laptop PC. JBoss offers an EJB container where Tomcat does not. JBoss still uses Tomcat for web services.
Presentation Documents

Ric Goell - Best Practices for Caching

Ric Goell, Sr. Manger of Development for Oracle 's 9iAS Web Cache , has been in the IT industry for 15 years. Prior to his current role at Oracle, Ric worked at Webvan where he was responsible for the development of a highly scalable Web based application.

Dynamic content provides users a more personal and rich Web experience. This content is typically generated through business logic and database queries on application servers. Dynamic content is expensive to generate and the systems that perform these computations were designed to support tens to hundreds of users rather than the thousands seen today. Dynamic content caching has arisen to combat this problem. The key challenges in dynamic content caching are the volatility and variation of the content.
Dynamic pages are more volatile not only because they change more frequently, but also because their changes are often unpredictable in advance. To maintain cache content consistency, flexible content invalidation is indispensable. Dynamic pages tend to be personalized, too, making them inefficient to cache at the whole page level. However, even in the most dynamic and personalized pages, many parts of the page can be shared and this is the key.
Edge Side Includes (ESI) is a standard markup language designed to solve this problem by separating highly volatile and variant page fragments from relatively stable contents. This talk examined the advantages and disadvantages of caching at different layers in the application stack and provide a brief overview of Oracle's approach to Web caching. Additionally, best practices and uses for the ESI and Edge Side Includes for Java (JESI) standards were discussed.

Presentation Documents

Oracle raffled a Oracle9i JDeveloper book and provided CD's for Oracle9i Database on Linux and CD's for Oracle9iAS Containers for J2EE , Oracle9iAS TopLink , Oracle9iAS Web Cache , Oracle9i JDeveloper .
These were full featured CD's that do not expire! (They were not valid for production systems.)

May 13, 2003 - Charlie Gonzales - BEA Systems

Simplifying IT Infrastructure

  • Simplifying Enterprise Computing through Application Infrastructure
  • BEA Enterprise Platform Advantage

Charlie Gonzales BIO

Presentation Documents

June 10, 2003
- Chris Scheuble / Marnie Knue-Merkel

"Going from MS to Java Frameworks"

- Bill Willis, Director of Engineering, ObjectVenture Inc.

"Technology that finally delivers on the promise of true object reuse"

This solution combines pattern definitions and J2EE objects - not only allowing developers to create objects but to also describe how they interact.

A technical presentation on simplifying the delivery of enterprise and web-based applications with our integrated design and development environment, ObjectAssembler. In this presentation we would demonstrate how ObjectAssembler :

  • Uses software design patterns represented in XML to build design models and generate the base application,
  • Provides real time component (EJB, JSP , Servlet , JavaBean and Struts) validation against a components respective specification using our Intellisynch technology,
  • Synchronizes the source code and with its visual representation of the patterns, components and assemblies that make up the application as it is being constructed or modified
  • Supports round trip engineering between UML and Java using our UML Bridge.

Trial CDs containing ObjectAssembler Enterprise Edition were available at the meeting. A few remote control cars and two copies of " J2EE Core Pattern Catalog " Core J2EE Patterns were also be raffled off!

July 8, 2003

Ted Neward , DevelopMentor

" Tiger - Java 1.5 New Features"

It is anticipated that the Tiger release will be mainly targeted at the following major themes:

  • Reliability, Availability, Serviceability
  • Monitoring and Manageability
  • Scalability and Performance
  • XML and Client Web Services
  • Ease of Development

The reliability, availability and serviceability theme and monitoring and manageability theme is in response to the needs of the growing installed base of mission critical applications using the Java platform.

The scalability and performance theme is focused on improving the server side and client side Java applications runtime.

The focus on XML and web services clients is to ensure that client application written in the Java language can take full advantage of these technologies.

Finally, the Java language and platform have been designed with ease of development in mind, this role of this theme is to drive further enhancements in this area for individual developers and developers of tools.

The Tiger release will be fully compatible with earlier J2SE releases.

Various existing JSR API initiatives will be evaluated as potential candidates for Tiger. Amongst the possible candidates for evaluation are:

  • Management Extensions
  • Decimal Arithmetic Enhancement
  • Generic Types
  • XML Digital Signature
  • XML Digital Encryption
  • JDBC Rowset Implementations
  • Application Isolation
  • Platform Profiling Architecture

The final specification for Tiger may not include all of these JSRs, and may include some JSRs not present on this list.

August 12, 2003

Tim Schafer - "Jython"

Jython is an implementation of the high-level, dynamic, object-oriented language Python seamlessly integrated with the Java platform. The predecessor to Jython , JPython, is certified as 100% Pure Java . Jython is freely available for both commercial and non-commercial use and is distributed with source code. Jython is complementary to Java and is especially suited for the following tasks:

  • Embedded scripting - Java programmers can add the Jython libraries to their system to allow end users to write simple or complicated scripts that add functionality to the application.
  • Interactive experimentation - Jython provides an interactive interpreter that can be used to interact with Java packages or with running Java applications. This allows programmers to experiment and debug any Java system using Jython.
  • Rapid application development - Python programs are typically 2-10X shorter than the equivalent Java program. This translates directly to increased programmer productivity. The seamless interaction between Python and Java allows developers to freely mix the two languages both during development and in shipping products.

The "Starter Session" presentation covered Python's syntax , object orientation and features.

The "Advanced Session" presentation covered Jython's Java integration, calling Java APIs , inheriting from Java Classes , Servlets with PyServlet , embedding Jython , compiling to byte code with Jythonc .
Trial CDs for the following were available at the meeting:

Pizza and drinks were sponsored by TEKsystems and The Scheuble Group .

We raffled off " Java & XML Data Binding " & " Toad Pocket Reference for Oracle ".
TOAD Pocket Reference for Oracle Java & XML Data Binding

September 9, 2003

Dan Velasco - Struts & Tiles

Struts is an open source framework for building web applications. The core of the Struts framework is a flexible control layer based on standard technologies like Java Servlets, JavaBeans, ResourceBundles, and Extensible Markup Language (XML), as well as various Jakarta Commons packages. Struts encourages application architectures based on the Model 2 approach, a variation of the classic Model-View-Controller (MVC) design paradigm.

Tiles is a popular JavaServer Pages (JSP) tag library with components for screen definitions, templating, layouts, dynamic page building, and reuse. Tiles framework was previously called Components framework.

Trial CDs for the following were available at the meeting:

Pizza and drinks were sponsored by TEKsystems and The Scheuble Group .

We raffled off " JXTA IN A NUTSHELL ". JXTA in a Nutshell

October 14, 2003
Tim Schafer
Hibernate Logo

Hibernate is a powerful, ultra-high performance object/relational persistence and query service for Java . Hibernate lets you develop persistent objects following common Java idiom - including association, inheritance, polymorphism, composition and the Java collections framework. Extremely fine-grained, richly typed object models are possible. The Hibernate Query Language , designed as a "minimal" object-oriented extension to SQL , provides an elegant bridge between the object and relational worlds. Hibernate is now the most popular ORM solution for Java.

The "Starter Session" presentation introduced us to mapping objects to relation data sources which happen to currently proliferate the electronic universe.

The "Advanced Session" presentation discussed both conceptually and technically in full detail the pros & cons for each of the following features included in the Hibernate technology.

Hibernate Feature List

Transparent persistence without bytecode processing
Object-oriented query language
Flexible object / relational mappings
Simple APIs
Automatic primary key generation
Object/Relational mapping definition
HDLCA (Hibernate Dual-Layer Cache Architecture)
Ultra-high performance
J2EE integration
And more....

Mac OS X for Java Geeks Trial CDs for the following were available at the meeting:

Sandwiches and drinks were sponsored by TEKsystems and The Scheuble Group .

We raffled off " Mac OS X for Java Geeks ".

November 11, 2003 Log4J Logo

Chris Scheuble , The Scheuble Group - "Introducing Log4J"
Nick Chalko , Chalko.Com - "Configuring Log4J Beyond the Generic"


Inserting log statements into your code is a low-tech method for debugging it. It may also be the only way because debuggers are not always available or applicable. This is often the case for distributed applications. With Log4J it is possible to enable logging at runtime without modifying the application binary. The Log4J package is designed so that these statements can remain in shipped code without incurring a heavy performance cost. Logging behavior can be controlled by editing a configuration file, without touching the application binary. Logging equips the developer with detailed context for application failures. On the other hand, testing provides quality assurance and confidence in the application. Logging and testing should not be confused. They are complementary. When logging is wisely used, it can prove to be an essential tool.

The "Starter Session" presentation introduced us to a MVC structured Java application that desperately needs a better logging method then System.out.println(...). Log4J was used to demonstrate how to enable a better logging method to your Java applications.

The "Advanced Session" presentation discussed technical aspects of configuring Log4J.

  • Setting the Log4J to look for changes in the config file.
  • Using appender for text file, html file, xml file, WinNT event log
  • Using the "SQL"+Foo.class.getName() pattern

Sample properties file: Sample Properties

Trial CDs for the following were available at the meeting:

Sandwiches and drinks were sponsored by TEKsystems and The Scheuble Group .

Agile Database Techniques We had a copy of " Agile Database Techniques " from WILEY for review.
Also raffled off
" Java Examples In A Nutshell " from O'Reilly.
Java Examples In A Nutshell

December 9, 2003

Marnie Knue-Merkel , Exit Certified - "Message-Driven Beans Introduction"

Message-Driven Beans

The "Starter Session" presentation introduced us to Message-Driven Enterprise Beans.

A message-driven bean is an enterprise bean that allows J2EE applications to process messages asynchronously. It acts as a JMS message listener, which is similar to an event listener except that it receives messages instead of events. The messages may be sent by any J2EE component--an application client, another enterprise bean, or a Web component--or by a JMS application or system that does not use J2EE technology.

The "Advanced Session" presentation is open discussion.

Trial CDs for the following were available at the meeting:

Sandwiches and drinks were sponsored by TEKsystems and The Scheuble Group .

We raffled off " Java Web Services " from O'Reilly.
Java Web Services