|
|
|
|
PJUG Meeting Information
|
|
Downtown Campus (MAP) 8th Floor - Room 8005 Pacwest Center 1211 SW 5th Avenue Portland, Oregon |
Dynamic languages on the JVM, an overview of up and coming new languages for the JVM and what advantages they have over pure Java; including Groovy, JRuby, JavaFX, and Scala. Also covers what improvements will be coming in the JVM to better support dynamic languages
Do you use Ant for your project builds? This talk will show you ways to improve your build scripts, expose common pitfalls, and should change the way you think about your build scripts. Included is a discussion on what Nike is doing to unify its build process. Our goal - a build script in 10 lines or less.
FitNesse is a wiki based collaborative testing and documentation tool that provides a very simple way for teams to collaboratively create documents, specify tests and run those tests. It is a simple, elegant tool for automating acceptance tests. WATIJ is a pure Java API created to allow for the automation of web applications. Based on the simplicity of WATIR and enhanced by the power of Java, WATIJ automates functional testing of web applications through a real browser. Both FitNesse and WATIJ are open-source projects. Putting these two powerful tools has created a very powerful environment for automating testing of web applications. Test suites can be authored and maintained by people with minimal programming background with the wiki based testing advocated by FitNesse.
The Eclipse Rich Ajax Platform (RAP) project enables Java developers to
build browser-based AJAX applications more easily than other frameworks using the full java libraries, Eclipse
APIs and a plug-in architecture. RAP applications are programmed in Java - abstracting the JavaScript and AJAX
technologies which are necessary for a rich user experience in the browser. RAP is based on the Eclipse plug-in
model and is deployable to standard J2EE application servers.
The talk introduces RAP to an audience of Java Developers by explaining key concepts, pointing-out noteworthy
features and demonstrating the complete cycle of creating a small RAP application.
Links:
RAP Homepage - http://www.eclipse.org/rap/
RAP Mail Demo - http://rap.eclipse.org/maildemo/rap?startup=maildemo
RAP Controls Demo - http://rap.eclipse.org/controlsdemo/controls
Client side Java has come a long way in the last decade, but Java FX is going to be the biggest change since switching from AWT to Swing (maybe even bigger!). This is an overview of where client Java stands today, the new technologies coming soon, and the new tools that will let developers create incredible new client applications both on the desktop and off. After the overview we will deep dive into Java FX Script, a new programming language specifically designed for creating user interfaces.
Six months ago Jive Software launched a major new Web 2.0
product,
Clearspace. We'll give you a behind the scenes look at what went into
the design, implementation and launch of the application. How does a
small engineering team create a Sharepoint killer? We'll the reveal the
secret sauce that made it possible.Some major areas we'll cover:
Design
* How we figure out what to put into the product without formal MRD,
PRD, TPS reports, etc.
* Creating a kick-ass UI.
* User acceptance testing: it doesn't have to suck.
Implementation
* Architecture overview
* Key technical challenges
Launch
* Our release train process -- go fast with high quality.
* Making it a platform and engaging the community via plugins and
themes.
The Java API for XML Web Services (JAX-WS) is the next generation of Java APIs for web services, replacing The Java API for XML Based RPC. JAX-WS focuses on ease of development along with aligning with the industries for web services. The JAX-WS reference implementation (RI) is a production quality, highly performant implementation of the JAX-WS 2.1 specification. This talk will present an overview of the JAX-WS APIs and then will spend the majority of the time presenting how web services can be developed with the JAX-WS RI as well as the architecture of the RI. As JAX-WS is part of the GlassFish project an overview of Glassfish will also be presented.
The 12th annual JavaOne is over - and there was alot of new and very cool that was presented in 5 days of sessions! Come have some pizza and get a superview of this years sessions. From the just announced JavaFX to a Java programmable RoboSapien.
Our presentation covers building sexy web and desktop applications using Java, Mozilla's new ECMAScript VM (Tamarin), the free Flex SDK, the Flex Builder Eclipse plugin, and Flex Data Services. The presentation is mostly demos and writing code, with only a couple slides to help describe architecture. The session is very interactive with lots of audience questions and participation.
Scott Davis is the Editor in Chief of aboutGroovy.com. The
website, in
addition to being, umm, about Groovy, is implemented in Grails. This
talk shows you how to get started with Grails, but also talks about the
experience of using it in a live, production web site.
Grails is a web framework that maximizes the strengths of familiar Java
libraries Spring, Hibernate, and Sitemesh, to name a few while
minimizing the XML jockeying it usually takes to get them all to play
nicely with one another. It brings "Convention over Configuration" to
Java. It uses Groovy as the language to glue the pieces together, which
means that experienced JEE developers can learn Groovy in the context
of
libraries that they are already familiar with.
Grails includes a web server, a database, and all of the libraries
necessary for a full-fledged web application. It will even generate a
directory structure and scaffold common classes (Controllers, Views,
etc.). It is no exaggeration to say that you will have your first
application up and running in minutes. But Grails is more than about a
quick start. In this talk, we'll look at ways to move beyond the
default
configurations. We'll deploy a Grails app to an external Tomcat
instance
instead of the included Jetty server. We'll move from the default
HSQLDB
database to MySQL. We'll include external JARs to bring new
functionality to the mix.
Slides (ODP)
(Open Office)
The JavaServer Faces framework is a rapidly growing Java web framework
that was created through the Java Community Process (JCP). Many vendors
have adopted this technology and have developed rich component
libraries
and tool support. While JavaServer Faces provides a standard foundation
on which to build web applications, it is only the beginning. Come get
your questions answered such as:
In this presentation, we will examine Java-based portal servers and the Java Portlet API. We will discuss portlet programming, portlet deployment, portal security and portal administration.
An introduction to the Jakarta Tapestry web application
framework, which will explain the concepts and features of the
framework while live coding simple applications. Tapestry forms,
request cycle, component object mode. The use of several important
components (including the
powerful Table data grid) will be featured.
Tapestry is a powerful open-source Java web application framework that
stands apart from most other technologies used for creating web
applications.
Spring is a framework for building J2EE applications. Spring provides an extensive set of APIs covering database access, object-relational mapping, declarative transactions, aspect-oriented programming, and messaging. However, at its core Spring is an Inversion of Control (IoC) container that can wire your application layers together in a way that keeps them loosely coupled and improves testability. This talk will be a brief introduction to the Spring IoC container, and will feature a simple demo app that shows how few lines of code it takes to wire an application together with Spring. (PPT Slides)
Amazon spent ten years developing the world-class technology and content platform that powers the Amazon web site for millions of customers every day. Using Amazon Web Services (AWS), you can build software applications leveraging the same robust, scalable, and reliable technology. AWS now offers eight services with open APIs for developers to build applications. Learn how you can create innovative applications and then launch on-line businesses that make money. (LINK)
We'll distill a full week of announcements, tutorials and in-depth presentations into less than an hour. Want to know what's coming in Java 6 and 7? How to finally solve the double-checked locking idiom? The latest tools for managing JVM's in a production environment? Attend the talk for answers to these questions and more. Of course, we'll also show you which slides and audio casts that you'll want to download for yourself from the JavaOne 2006 website.
Come join us next at the next JUG and we'll talk in-depth
about Maven 2. There are currrently no books available for Maven2 and
it is considerably different than Maven1. So come join in the
discussion and learn something new and useful.
Maven is a comprehensive project management, build and reporting tool.
We'll create our own projects from using the default Maven archetypes
and our own custom archetype. We'll discuss single and multi-project
setups and project object model (POM) inheritance. We'll adapt an
existing project that uses Ant. We'll create our own private
company-wide Maven repository and Maven mirror. We'll cascade-build all
of our projects with one command. We'll manage our transitive
dependencies (including conflicts). We'll show how to write our own
custom Maven plugin. And finally we'll use Maven to build our project
website with all of the pointy-hair-pleasing reports.
With the Struts and WebWork merger announcement and the fact
that Struts Action Framework 2.0 would be based on WebWork, the Java
web application landscape is finally maturing and consolidating. As the
leader of the action-style Java web frameworks, WebWork is relatively
unknown but is about to be introduced to a very large community. Come
learn about what makes WebWork so special to work with. This session
will be extremely hands on and code intensive, so come prepared to ask
questions and get involved! Topics covered include:
Join us in January as we discuss component based development
(CBD). We will discuss the motivation behind CBD and the agility it
gives your development team.
CBD can turbo-charge your team's efforts by encouraging good OO basics
(Abstraction, Encapsulation, Polymorphism, Inheritance) and OO
Principles (Encapsulate what varies, Favor composition over
inheritance, Program to interfaces not impls).
CBD helps mitigate risks in your application by allowing easy
replacement of components with an alternate implementation. CBD also
encourages the easy use of mock objects and test-first development too.
We will discuss terms like "Inversion of Control" (IoC) and the
"Hollywood Principle". We will talk about the importance of managing
dependencies and ways to automatically wire dependent components.
Although we will focus on the most popular IoC container (Spring), we
will also demonstrate different strategies of IoC such as the good ol'
AbstractFactory and PicoContainer that existed before Spring. We will
also see how it's possible, with proper design, to replace your IoC
container with little impact to the project.
In this presentation, we will look at the Yahoo Maps web service API's. There will be a live demonstration of geocoding and map image generation. In addition, we will discuss how to implement a Yahoo Maps client using the Jakarta HttpClient library and an XML data binding library.
Compiere is a J2EE based ERP & CRM environment. The session concentrates on the technical architecture and design choices as well as the experiences starting with Java 1.3 to now 1.5.
Jorg Janke is the founder and principal of the Compiere ERP & CRM open source project. As the driving force behind Compiere's success, Jorg has more than 20 years of combined business and technical experience, holding all Sun Java and Oracle DBA certifications. Under Jorg's leadership, ComPiere, Inc. provides stewardship, development, support and training for the company's products as a key part of the overall support provided by Compiere's 50 + partners throughout the world. Before founding Compiere, Jorg was Director Enterprise Systems in Oracle's Application Development Division (Redwood Shores, CA) and Manager Business Applications at the EMEA HQ of Unisys (London). Previously, Jorg created an application for the retail and distribution markets and later joined ADV/Orga, the company from which SAP licensed its first version. Jorg holds a BA in Accounting and an MBA from the University of Sussex, United Kingdom.
Sitemesh (www.opensymphony.com/sitemesh) is a server-side Java web-page layout and decoration framework. Developers can use it to quickly and easily create consistent looking UIs and even use it for "panels" in server-side applications. This presentation will go in to detail about the problems Sitemesh solves, how it solves them and some advanced uses.
Bill Lynch is the VP of Engineering and a co-founder of Jive Software, a downtown Portland based software company. Bill has been using Sitemesh for a number of years and Jive Software uses it heavily in their products.
We will discuss how to combine HTML DOM, JavaScript and server-side Java to provide a better user experience in browser-based web applications. We'll look at Sun's Ajax blueprints and the JSON-RPC open source project.
At the end of the session, attendees will have a firm introduction to JDO and object-relational mapping.
Hibernate is a "powerful, ultra-high performance object/relational persistence and query service for Java". Basically, Hibernate allows you to easily bridge the world of objects to the world of databases. It has the distinction of being the most popular Java mapping solution.
I have developed or seen a half-dozen home-grown mapping solutions. When I discovered Hibernate, I quickly realized its value. When developing Viztas's website I quickly decided to use this simple but powerful tool to map my database to POJOs (plain old Java objects).
The talk will include: