192 symposiums and 29,850 attendees since 2001

Eitan Suez

Eitan Suez is the creator of the open source framework JMatter

Eitan Suez
Eitan Suez is an independent software developer based in Austin, Texas. Some of the more visible work Eitan has done includes the open source project 'ashkelon' (sourceforge), a system for Java API documentation management; more recently, the open source framework JMatter (jmatter.org), a framework for constructing rich domain-driven workgroup applications (Java, Swing). Eitan has spoken at various NFJS events in years past, is active with his local JUG, and passionate about the practice of software development.


Blog

That Open Source Feelin'

Posted Monday, December 4, 2006

A more »

Where Swing should Venture

Posted Thursday, June 29, 2006

An increasing number of frameworks are appearing that I find particularly interesting. They're web AJAX frameworks where the details of the HTTP communication and of all the HTML and JavaScript on the front-end are hidden be more »

I'll have Spam, Spam, Spam, sausage, eggs, and JMatter please..

Posted Friday, June 23, 2006

For some reason, I did not catch the wonderful Monty Python Flying Circus episodes in my youth. Recently in the USA on public TV they've started airing re-runs. So it was more »

A Harness for Swing

Posted Thursday, May 4, 2006

I was thinking about this a while back and it struck me as interesting that as a GUI toolkit, Swing is different from a number of other GUI toolkits out there that wer more »

Thought Catalysis

Posted Wednesday, May 3, 2006

Recently some new ideas have come to me out of activities that I did not expect would generate any. In this blog entry I'd like to enumerate sources or catalysts for ideas, for generating though more »

MVC without leaks implies generic VC

Posted Tuesday, May 2, 2006

How many times have we heard or preached (or both) the important lesson of not having our business logic "leak" into the client tier. Each time we hear it, we nod ou more »

Stoked: Not Just for Surfers Anymore

Posted Monday, May 1, 2006

I sometimes enjoy describing feelings a software developer might experience, at certain moments during development. For example, a while back I blogged about "Grazie Signore" moments. This past weekend I atten more »

A better way to build business software applications

Posted Thursday, April 20, 2006

Each time I look at the task of constructing a business software application, I see t more »
Read More Blog Entries »

Presentations

Ashkelon: Open-Source Documentation Management for Java

Are you overwhelmed by an explosion of Java APIs? Can't find that factory method to construct the class you need? Come learn about a tool that can simplify your job as a Java programmer. more »

Cascading Style Sheets: a Programmer's Perspective

Today, the Cascading Style Sheets (CSS) specification is well supported by the major browsers (Mozilla, Safari, IE). CSS has become a practical tool for web content publishers that has helped turn heavy, buggy, and hard-to-maintain web sites into lean, c more »

XML Data Binding with JiBX

JiBX is an open source XML data binding API for Java. JiBX is younger than most other APIs in this space (Castor XML, BEA XMLBeans, JAXB). JiBX's philosophy on data binding is that: [a] databinding should be fast, and [b] databinding frameworks should more »

The State Machine Compiler

Classes will often bear various states. Examples include a user who may be "logged in" or "logged out," a bill that is "open" or "paid," or potentially a more complex situation where an object obeys a set of complex rules that determines which of a numbe more »

All Roads Lead to.. AOP?

An exercise in refactoring, playing with Java 5 annotations, varargs, JUnit, and more (see detail description for more). more »

Hibernate by Example

This talk covers the core of the Hibernate Object/Relational Mapping framework by example; that is: in a hands-on manner. more »

Extreme Agility with jMatter

The jMatter framework is a modern implementation of the Naked Objects Architectural Pattern using Swing, Hibernate, and deployed with Java WebStart. This open-source framework produces 2-tier workgroup apps (Swing front-ends that talk to rdbms back- more »

Achieving greater code reuse through decoupling of feature implementations from the domain

Over the last few years, I have taken a different approach to building domain-driven software applications. more »

Ashkelon: Open-Source Documentation Management for Java

close

Eitan Suez By Eitan Suez

Are you overwhelmed by an explosion of Java APIs? Can't find that factory method to construct the class you need? Come learn about a tool that can simplify your job as a Java programmer. Ashkelon is an open-source tool that allows you to maintain all your javadocs in one central repository. Its user interface puts you in command of learning source code in ways that existing javadocs cannot support. Lookup a Class, Interface, or Method directly by name, by author, using wildcards, matching specific modifiers, or any combination thereof. Eitan Suez will speak about the origins of this tool, how it works, and how it can impact your productivity as a Java programmer.



Session Goals: This session has two goals. The first is to introduce a documentation management system for Java that has the potential to become an integral part of a programming team's software development process. Such a tool serves as an aid in day-to-day programming, in learning new APIs, and in gaining insight into code. It can be used to increase the visibility of your code within a organization or community. The second goal is a side effect of the first: through a detailed review of the system's design and user interface, it exposes attendees to various elements of good user interface design and usability.

Prerequisites: Basic understanding of the Java programming language. Experience with the javadoc tool (at the very least referencing javadocs, if not generating them). Basic understanding of a three (or more) tier web application.

Session Rating: Intermediate

Category: Core Java


Cascading Style Sheets: a Programmer's Perspective

close

Eitan Suez By Eitan Suez

Today, the Cascading Style Sheets (CSS) specification is well supported by the major browsers (Mozilla, Safari, IE). CSS has become a practical tool for web content publishers that has helped turn heavy, buggy, and hard-to-maintain web sites into lean, clean, and stylish ones. CSS is sometimes stereotyped as a technology geared for graphic designers and artists. I beg to differ: I see CSS as a refactoring tool for content publishers and one that encourages content to become more strongly semantic. Come see a developer's perspective on CSS and how it can be applied to refactor your web content.



Session Goals: To "grok" CSS. To dispell the myth that CSS is not a tool for software developers. To learn to wield CSS to produce superior web user interfaces.

Prerequisites: Prior experience with web technologies (specifically HTML) is assumed. Audience is assumed to have a programming background.

Session Rating: Intermediate

Category: Languages


XML Data Binding with JiBX

close

Eitan Suez By Eitan Suez

JiBX is an open source XML data binding API for Java. JiBX is younger than most other APIs in this space (Castor XML, BEA XMLBeans, JAXB). JiBX's philosophy on data binding is that: [a] databinding should be fast, and [b] databinding frameworks should allow for the divergence and evolution of your codebase from its xml representation. JiBX excels on both counts and consequently is a practical tool for the purpose of data binding. In this session, Eitan will be covering all aspects of Dennis Sosnoski's JiBX framework.



Session Goals: To learn the JiBX API in detail. JiBX can considerably simplify the task of parsing XML content into business objects and generating XML representations of these business objects.

Prerequisites: Basic understanding of XML, but not of any of the variety of standards that build upon that foundation. Basic understanding of the Java programming language.

Session Rating: Intermediate

Category: XML/Web Services


The State Machine Compiler

close

Eitan Suez By Eitan Suez

Classes will often bear various states. Examples include a user who may be "logged in" or "logged out," a bill that is "open" or "paid," or potentially a more complex situation where an object obeys a set of complex rules that determines which of a number of possible states that object is in. The Gang of Four gave us the State Pattern, a fairly straight-forward mechanism for developers to model and implement the behaviour of stateful objects. The State Pattern is only the beginning of the story. Robert Martin developed the State Machine Compiler and has taken the job of developing and maintaining stateful systems to a new level. Today, SMC is a well-maintained open source project hosted on sourceforge.net. Come learn about SMC, a fundamental tool for implementing stateful classes and systems that every software developer should have in his toolchest.



Session Goals: Developers today are faced with increasing pressure to deliver robust software with increasing levels of sophistication and features. The goal of this session is to introduce a software consruction tool that cleanly separates the concern of managing object state transitions from the rest of a software system. The end result is an application that takes less time to code, is easier to maintain, and that can dramatically reduce the complexity (and consequently the increases the quality) of the implementation.

Prerequisites: Basic understanding of the Java programming language and of object-oriented programming and design. Familiarity with "Gang Of Four" Design Patterns.

Session Rating: Intermediate

Category: Architecture/Languages


All Roads Lead to.. AOP?

close

Eitan Suez By Eitan Suez

An exercise in refactoring, playing with Java 5 annotations, varargs, JUnit, and more (see detail description for more).



This talk is a little story. It begins, innocently enough, with a speaker's dilemma: how to give an effective talk on Hibernate? The speaker quickly realizes that to he's going to have to automate some of the associated configuration and setup code. There's an interesting refactoring hurdle along the way, whereby the author:

[a] dreams he could be writing the code in JavaScript [b] tries out the Spring Framework's medicine for Hibernate [c] ends up simply using JUnit [d] gets inspired and writes his own mechanism to resolve the situation [e] finally, looks towards the future with a sigh, and thinks "AOP"

An exercise in refactoring, playing with Java 5 annotations, varargs, JUnit, and more.


Hibernate by Example

close

Eitan Suez By Eitan Suez

This talk covers the core of the Hibernate Object/Relational Mapping framework by example; that is: in a hands-on manner.



What does this mean? Two things: 1. Rather than spending 1.5 hours going from slide to slide, passively covering various aspects of the Hibernate framework, you'll be actively building a sample application, modeling, persisting, querying information using Hibernate 3.1 2. Hibernate today is a mature and rich framework consisting of many features. Discussion of features outside of the Hibernate "Core" will be sacrificed for the sake of presenting Hibernate in an active, "by example" style.

No a-priori knowledge of Hibernate is assumed. We'll cover the basics of Hibernate v3.1, XML mappings, the Hibernate Query Language (HQL), the Criteria API, custom UserType's, Components, and more! (This talk does not discuss auxiliary topics such as the EJB 3 persistence API, Annotations, or integrating Hibernate in managed (J2EE) environments).


Extreme Agility with jMatter

close

Eitan Suez By Eitan Suez

The jMatter framework is a modern implementation of the Naked Objects Architectural Pattern using Swing, Hibernate, and deployed with Java WebStart. This open-source framework produces 2-tier workgroup apps (Swing front-ends that talk to rdbms back-ends) intended to be used in a LAN or VPN environment.

Developers using a Naked Objects style framework focus on building a behaviourally complete domain model and leave everything else (UI, persistence, etc) to the framework. By focusing on the domain model only, jMatter claims to offer 10x productivity for building Swing workgroup apps.

Come discover jMatter in a hands-on presentation where we'll be developing a live application and hold discussions about this new empowering style of producing business applications.



-- This presentation focuses on learning how to develop workgroup applications using the jMatter framework (open-source).

jMatter embraces the philosophy behind NakedObjects (see nakedobjects.org) which the author believes to be a paradigm shift in the way developers construct business applications.

We will explore this framework in a hands-on manner, by building a live application. This presentation is given by Eitan Suez, the author of the jMatter framework.


Achieving greater code reuse through decoupling of feature implementations from the domain

close

Eitan Suez By Eitan Suez

Over the last few years, I have taken a different approach to building domain-driven software applications.



Implementing various application concerns (such as form construction, validation, ui navigation, search, authorization) generically (i.e. in such a fashion that the implementation is decoupled from, or agnostic of the application domain) has enabled me to reuse the implementations across projects. In this talk, Eitan will be sharing his experiences with this approach, and the results it has yielded. We will explore how to go about implementing various concerns generically, discussing algorithms, and reviewing implementations and their merits.