Greater Oregon Software Symposium
April 20 - 22, 2007 - Portland, OR
Brian Pontarelli
Founder of Inversoft
Brian Pontarelli is the founder and president of Inversoft, a Colorado based software company. In addition to Inversoft, Brian works on many open source projects including Struts, Savant and Java.net commons. In the past, he was the president of the Chicago Java User Group and an enterprise architect for Orbitz.
Brian has been programming for many years and works primarily with Java and Ruby. He has published various articles in both print and online magazines about Java, J2EE security, Java Server Faces and NIO.
Presentations
Java NIO
The Java NIO packages that were added in JDK 1.4 and these packages allow Java applications to perform true non-blocking IO operations. This presentation will cover the basics of the standard IO packages, which date back to the beginning of Java, and some of the shortcomings they have. This will be followed by coverage of the newer NIO packages and how they address these issues.
The NIO packages aren't simple to use and have a few dangerous pitfalls that many encounter when they first start using NIO. These pitfalls will be covered as well as solutions to each.
The ACEGI Framework
The ACEGI framework is a comprehensive security library built on top of the popular Spring Framework. This talk will cover the basics of using the ACEGI framework within a Java web application.
This talk will cover the details of getting started using ACEGI. We'll cover the ACEGI filter chain and how it works, login, logout, roles, authorization via access control lists, password encryption, and touch on annotation based security.
Attendees should walk away with the ability to start using ACEGI in their web applications and understand how all the ACEGI configuration work together to build custom security models.
SOA Topologies
This talk will cover many of the different types of SOA topologies from EJBs and WebServices all the way to message queues and tuple spaces. SOA has many different meanings but it never dictates a single implementation and this talk covers many of the most common implementations of a service oriented architecture.
During the course of this talk we'll cover EJBs, JMS and general message queues, Jini, JavaSpaces, WebServices and ESBs. We'll discuss the pros and cons of each topology and what makes each a better or worse solution for various problems. We'll also cover the fundamentals of network computing and why it is important to understand that SOA is distributed and the impact distribution has on the selection and implementation of the topology of an application.
Attendees should walk away with a more broad understanding of SOA and the numerous ways of implementing this architecture. They should also understand how to go about selecting the correct topology or mix of topologies to meet the needs of their applications.
Writing Good APIs
Writing APIs is fairly easy but writing an API that is usable and lives longer than a few days is hard. This talk discusses methodologies, tips and tricks for writing good APIs.
During the course of this talk we'll cover many of the common forms of APIs including base types, domains, services and toolkits and how to approach writing each type. We'll also cover the different between internal and external APIs and how to protect your code from your clients.
Attendees should take away a base set of tactics that assist in writing solid APIs.


