JavaOne 2006 Schedule
Tuesday
- 11:00 - 12:00
- 14:00 - 15:30
- 15:15 - 16:15
- 15:45 - 17:15
- 16:30 - 17:30
- 17:30 - 18:45
- 17:45 - 18:45
- 19:30 - 20:20
- 20:30 - 21:20
- 21:30 - 22:20
- 22:30 - 23:20
-
LAB-1205 Java™ Technology-based Application Performance Analysis
- Performance is a primary concern for everyone who deploys Java™ technology-based
applications. The Java HotSpot™ Virtual Machine has included lightweight performance
monitoring features for several releases which are now included in Java Platform,
Standard Edition (Java SE) 5. These features along with the visualgc tool which is part
of the separate jvmstat 3.0 bundle form the basis for this hands-on lab. In this lab
developers will use jvmstat tools to learn the fundamentals of Java performance tuning.
(Menasse Zaudou, Andrew Johnson)
-
TS-0725 Challenges and Solutions for Developing Composite Applications on the Java™ EE Platform
- This session will show how frameworks built on the Java™ Platform, Enterprise Edition (Java EE) provide a methodology and toolset to efficiently develop and manage composite applications -- following SOA principles.
Attendees will learn how composite applications look and feel from a developer’s point of view. We will demonstrate how you can create, compose, and orchestrate services as key building blocks of your new application. Enhance these services with their own unique business objects, business logic and sophisticated Web-based user interfaces. Create new collaborative processes acting upon existing services and
transactions, weaving everything together. Understand the challenges you will typically face during the development and see how they can be addressed with modern frameworks and tools based on the Java EE platform standard. Finally learn how your composite can be easily adapted to and installed on your customers IT landscape. The session will include a demo.
Attendees should have intermediate Java technolgy knowledge and preferably some experience in business application design patterns in the Java Platform, Standard Edition (Java SE) and Java EE platform space.
(Volker Stiehl, Malte Christian Kaufmann)
-
TS-1593 Desktop Java™ Technology Today: Deep Dive
- This session explores the current state of desktop Java™ technology, highlighting technologies such as deployment, Swing, the Java 2D™ API, and Abstract Window Toolkit (AWT). It begins with a quick overview of the state of desktop Java technology and then focuses on the meat of the presentation: what's new in Java Platform, Standard Edition (Java SE 6)--code-named "Mustang"--for desktop Java technology developers. It also looks at the additions and does a deep dive into the more widely used features, showing plenty of code and a demo or two to keep things rolling.
(Scott Violet, Chet Haase)
-
TS-1756 Java™ Technology and REST: Implementing the Atom Protocol
- A simple lightweight approach to web services known as REST is finding favor among developers on all platforms. The REST approach to web services seems simple. Applications use the existing HTTP protocol to create, retrieve, update and delete resources by sending and receiving XML documents. Gone are the volumes of complex web services specifications such as SOAP, WSDL and UDDI. But, are REST based web services really so simple to develop? Without those complex specifications, how do you deal with the devilish details of specifying a web services protocol, enabling discovery and introspection?
In this talk, we'll answer those questions by examining and implementing using Java™ technology in the REST-based Atom Publishing Protocol (APP) . The APP is an idea case study. It's reasonably-sized and it's significant, being one of the first REST-based protocols to become an Internet Engineering Task Force (IETF) standard. It's also useful. Although it was originally intended for blog publishing, it's generic and extensible enough to be used for wikis, content management and your own web applications.
The session will start with a lightning quick introduction to REST followed by on overview of prior-art in blog publishing protocols. Next we'll take a long walk through the Atom protocol, illustrating the discussion with command-line interactions with a live Atom server and Java source code examples using the ROME feed utilities, JDOM XML parser and Apache HTTPClient. Along the way, we'll develop a simple but complete Atom client library. After that we'll take a quick look at an Atom client based on the Java Foundation Classes/Swing (JFC/Swing) API and the Atom protocol server implementation in Roller. We'll conclude with a short discussion of possible Atom protocol applications and futures.
(Dave Johnson)
-
TS-3396 Enterprise JavaBeans™ 3.0
- The Enterprise JavaBeans™ (EJB™) 3.0 specification has refocused Java™ Platform, Enterprise Edition (Java EE) based applications on ease of use and the leveraging of the EJB technology container to facilitate the development of enterprise applications.
This session examines some of the key features of the EJB 3.0 architecture and how they allow more-powerful applications to be developed in simpler ways.
Topics to be covered include the use of dependency injection mechanisms, the simplified business interface view, the use of business method interceptors and life cycle callback interceptors, the simplified model for transactions and security, and leveraging the Java Persistence API for enterprise applications.
(Tony Ng, Linda DeMichiel, Kenneth Saks)
-
TS-3523 JMX™ Technology Today and Tomorrow
- The Java™ Management Extensions (JMX™) API is now part of the core Java platform, as of Java 2 Platform, Standard Edition (J2SE™) 5.0 (code-named "Tiger"). This has accelerated its adoption, already widespread thanks to its inclusion in the Java Platfrom, Enterprise Edition (Java EE). In this session, the specification lead for the JMX API discusses some of the ways the API is being used in conjunction with other technologies and outlines the new features that will appear in the forthcoming releases of the Java platform.
In a brief survey of existing uses of JMX technology, attendees see how the JMX API can be driven from within an IDE, how aspect-oriented programming (AOP) can be used for a clean integration of JMX API instrumentation into applications, and how Dependency Injection (Inversion of Control) can also be used for JMX API instrumentation.
Attention then focuses on the future evolution of the JMX API. The forthcoming release of the Java Platform, Standard Edition (Java SE) (code-named "Mustang") includes several interesting improvements, which are covered. The subsequent release (code-named "Dolphin") will further improve JMX technology through JSRs 255 and 262, addressing themes such as scalability, ease of use, internationalization, and access through web services protocols.
Attendees will benefit from some acquaintance with the concepts of the JMX API, but in-depth knowledge is not required.
(Eamonn McManus, Jean-Francois Denise)
-
TS-4311 Inside Eclipse Callisto
- This summer Eclipse is shipping it's first ever release train, codenamed Callisto. Currently there are ten separate Eclipse projects which are working hard to ship on the very same day: BIRT, C/C++, Data Tools, Eclipse (including Java™ technology-based development tools and rich client platform), EMF, GEF, GMF, Test
and Performance, Visual Editor and Web Tools.
For the Java technology-based developer, this will give them a great collection of integrated open source tools to use for development. Even more importantly, it will provide a comprehensive set of frameworks to build products and applications on top of.
This talk will provide a look into the new features coming from each of the projects, including a deep dive on some of the key new Java development improvements, framework APIs and extension points. Along the way, we'll also give you an insider's view into the processes, technical decisions, and just plain struggle that has gone into making such a co-ordinated release possible.
(Mike Milinkovich, Bjorn Freeman-Benson)
-
TS-5540 Making Java™ Technology-Based/.NET Web Services Interoperability Real
- Although basic interoperability between different platforms is becoming widely accepted, real enterprise distributed systems are setting a higher bar. This session covers secure, reliable, and binary web services interoperability between Java™ technology and Windows Communication Foundation. Come see how WCF interoperability helps solve real-world problems. If you deal with distributed systems in heterogeneous environments, you won't want to miss this real-life, demo-driven session.
(Arun Gupta, Kirill Gavrylyuk)
-
LAB-8105 Sun Java™ Studio Enterprise 8: Basic UML Modeling
- NetBeans™ IDE includes comprehensive support for developing IDE plug-in modules
and rich client applications based on the NetBeans platform. It also includes the
intuitive GUI builder Matisse, redesigned CVS support, support for Sun Java™
System Application Server 8.2, Weblogic 9 and JBoss 4, and many editor
enhancements including new refactorings. NetBeans IDE is a robust, open source
Java IDE that has everything software developers need to develop cross-platform
desktop, web and mobile applications straight out of the box.
The NetBeans Enterprise Pack 5.5 introduces Web services orchestration, UML
modeling and XML tools to the NetBeans community. It is available as an integrated
bundle along with the NetBeans 5.5 IDE. This collection of tools and runtimes enable
you to develop applications and Web services based on the latest release of the Java
Platform, Enterprise Edition (Java EE) 5.
NetBeans Enterprise Pack 5.5 provides features to aid development:
•SOA visual design tools for architects and programmers
•XML Schema Tools - Visualize and edit XML Schema, visualize the relationships
between Schema elements, use Schema creation wizards.
- Web Services Orchestration
- Author, build, deploy, and test BPEL processes. Includes: a full two-way editor;
BPEL runtime engine integrated with Sun Java System Application Server 9; creation
of loosely coupled, service-based composite applications for SOA; full two-way
round-trip designer; full process debugging integrated into NetBeans debugger.
• UML Modeling, which includes:
- Full two-way, round-trip engineering
- Markerless code
- Code generation
- Requirements gathering
- Design patterns
A goal of this hands-on lab is to give you a brief description of main functionality provided by UML module of the NetBeans Enterprise Pack 5.5.
• Reverse engineering the existing application through UML modeling tool
• Extend application in UML modeling tool
• Publish UML modeling diagrams
()
-
TS-1402 Essential Lessons of Distributed Caching
- This session covers application development considerations for achieving maximum scalable performance and reliability in clustered Java™ Platform, Enterprise Edition (Java EE) environments, improving the scalability and scalable performance of applications through the use of clustered caching to reliably share live data among clustered Java Virtual Machine (JVM™) machines in the application tier, providing transparent failover as a key element of uninterrupted operation, and reduced load on the database tier as a key element of scalability.
(Cameron Purdy)
-
TS-1913 Eight Ways to Be More Productive Developing Swing Applications
- Java™ technology's Swing GUI toolkit is one of the most powerful and flexible
frameworks available for creating professional, high-quality desktop applications. Along with its considerable abilities, however, comes considerable complexity. Swing does not have a reputation for ease of use (despite being much easier than many of its competitors--but that's another story). If you could combine the Swings power with the productivity of easier, more restrictive tools, such as Microsoft's Visual Basic - you'd have an incredible tool for application development.
This presentation talks about eight techniques you can employ to realize such an environment, such as how you can successfully integrate GUI builders and XUL frameworks into your project, making it much easier to set and retrieve values on Swing components, how to make it trivial to make JTables easy to use, and more.
Along with the presentation and slides, attendees will be able to download open source code they can use in their projects today to implement these ideas.
(Ben Galbraith)
-
TS-3203 Mobility General Session
- This session discusses the evolution of the Java™ Platform, Micro Edition (Java ME) and Java Card™ platforms, highlighting several cutting-edge wireless data services in the market and how developers can take advantage of new capabilities in the Java ME and Java Card platforms to build compelling services for the mobile and embedded markets.
(Alan Brenner)
-
TS-3217 Transparently Clustered Spring -- A Runtime Solution for Java™ Technology
- How do you scale a Spring application beyond a single node? How can you
guarantee high-availability, eliminate single points of failure, and make sure
that you meet your customer SLAs?
Historically speaking, clustering an application is not easy: it takes a significant
amount of time and usually requires you to rewrite parts of your application. It
also usually perturbs your domain model and breaks object identity.
But does it have to be like that?
In this talk, Jonas Bonér and Rod Johnson will walk you through how to cluster
your Spring application, transparently and naturally, with no changes to your
application code, using the Terracotta Spring Runtime.
The Terracotta Spring Runtime allows you to take an arbitrary Spring application,
written for a single JVM™ machine, and cluster it to N nodes while preserving the
exact same semantics.
For example:
• Life-cycle semantics and scope for Spring beans are preserved across the cluster -
within the same logical ApplicationContext (singleton and session scoped beans).
• Spring's local event mechanism in the ApplicationContext is turned into
high-performance asynchronous, distributed and reliable events (messages), but
still local within the same logical ApplicationContext.
• Clustered beans can be exported using Spring JMX support, which guarantees a
single point of management and coherent view of all the JMX data in the cluster.
• Spring WebFlow's web flows are transparently shared across the cluster.
• and more...
The session is backed up by several live demos.
(Jonas Boner)
-
TS-3439 Mastering Mustang and Developing Dolphin
- Version 6 of the Java™ Platform, Standard Edition, code-named "Mustang," will be nearly finished by the time this session is held, so it presents an overview of the key Mustang features, illustrated with working code. Looking ahead to the Java SE 7 release, code-named "Dolphin," the presentation surveys the features being proposed for that release and explains how anyone in the wider community can get involved in its development.
(Mark Reinhold)
-
TS-3683 Bi-Fi: Just Like Your Doctor!
- Bi-Fi is a state-of-the-art wireless patient-monitoring system derived from "Smart Dust" concepts and technologies. Remote evaluation, diagnosis, and treatment of patients require biosensors that are enhanced through the use of telecommunications and networked computing technologies. Recent advances in low-power, distributed computing and communications technologies have yielded miniature-scale, wireless-enabled, battery-powered motes that can acquire, process, transmit, and receive signals over an indoor range of up to 30 meters. The Bi-Fi system is enabled by motes configured as biosensors through specialized hardware and software for efficient data acquisition, filtering, and transmission as part of a remote patient care delivery and monitoring system.
This session not only reveals the mystery of Bi-Fi's embedded system architecture but also shows you how the innovative use of Java™ technology lets you configure the mobile biosensors to acquire the biological signal of interest as well as browse archives of recorded data. The inherent flexibility granted by the Java technology-based services architecture allows access to the system by virtually any Internet-enabled device from anywhere in the world.
The fun is not over until you are "Bi-Fi"ed. Well, this session saves you a trip to the doctor...
(Shahin Farshchi, Kiran Patel)
-
TS-4069 Travel Web Services: Marrying Business Innovation with Java™ Technology
- This session with David Hecksel, senior SOA and business integration architect, Sun Microsystems, and Brad Schneider, director of architecture and research, Hotels.com,
covers the e-commerce travel web services available through IAN.com, the interactive affiliate network associated with Hotels.com, and how to use Java™ technology web services to access available dynamic travel content.
Topics covered include:
• What is IAN.com?
• Business functionality overview, including hotel, car rental, airfare, and travel package requirements
• Available travel services
• Examining the content available through a series of web service access demos
• An overview of the IAN.com platform, including application architecture, standards used, and future directions
• Interactive demos using Java technology web services to access travel content and create your own custom offerings
• Business opportunities for the community through travel services
(David Hecksel, Brad Schneider, Narayan Chintalapati)
-
TS-4386 Twelve Reasons to Use the Sun Java™ Studio Creator IDE
- The Sun Java™ Studio Creator IDE provides one of the easiest paths for creating enterprise web applications. This session covers many of the reasons developers today see using the tool as a powerful approach for creating web applications. Unlike virtually all other Java technology-based development frameworks, Java Studio Creator IDE approaches development with a visual layout and a drag-and-drop metaphor. The presentation discusses all aspects of the tool: the IDE, the database, and the application server. The session should have strong appeal to developers new to Java technology-based web application development and Microsoft Visual Basic developers making the transition to Java technology.
(Charles Ditzel, Inyoung Cho)
-
TS-4661 Composable Web Services Using Interoperable Technologies from Sun's "Project Tango"
- This technical session provides an overview of a set of technologies that enable interoperability between applications built on Microsoft's Web Services Communications Foundation (WCF, a.k.a. Indigo) and those built with Sun's Java™ Web Services technologies.
The session provides a rationale for Sun's strategy in delivering implementations of a selected set of WS-* technologies, such as WS-ReliableMessaging, WS-AtomicTransactions, and WS-Security, as part of the java.net community development effort. It shows the continuing evolution of Suns Web Services stack, enabling Sun to consume web services built and hosted by WCF technologies and/or provide Java web services that can be consumed by WCF consumers.
Attendees gain visibility into Sun's roadmap for this technology and receive detailed guidance on how to engage in the java.net community development effort.
(Harold Carr)
-
TS-1222 RESTful Web Services With JAX-WS
- With its XML/HTTP binding and dynamic APIs, Java™ API for XML Web Services (JAX-WS) provides important new functionality for the consumption and creation of RESTful web services. This session describes and demonstrates the features and capabilities of the Dispatch and Provider APIs when used in conjunction with XML/HTTP binding. The session includes full working examples of interacting with well-known services including Amazon, Yahoo, and Flickr, using both Java API for XML Processing (JAXP) for native XML processing and Java Architecture for XML Binding (JAXB) for binding XML to Java constructs. It describes service creation, including development and demonstration of a full working example. Additional advanced topics covered include use of the JAX-WS handler framework with RESTful web services and support for binary and multipart data.
Knowledge of the World Wide Web is assumed, and some familiarity with XML is desirable to get the most out of the session.
(Marc Hadley)
-
TS-1375 Web 2.0: Next-Generation Communities With Rich Java™ Technology-Based Applications
- "Asynchronous JavaScript™ technology," "XML (AJAX)," "Flash," and "Web 2.0." These are some of the hottest buzzwords on the Internet today, but where is Java™ technology in all of this? Even though Java technology is the granddaddy of rich Internet applications, it seemed to have fallen by the wayside until only recently, with some of the more recent advancements to the Java language.
At Javalobby, we don't see Web 2.0 as being confined to the various browsers. Through rich services, we are able to bring the content from our network out of the browser and into IDEs, your system tray, and even your Tivo. This presentation focuses on the different applications Javalobby has designed to present Internet community information outside the browser, using the very latest Java technology. We intend to show the attendees how we tackled the complicated task of bringing a primarily web-based community to the desktop in ways beyond basic RSS. The session begins with a brief overview with code samples of the back-end code to connect each of our different interfaces with the network, primarily using the Hessian binary protocol. We will then focus on building the various interfaces for the rest of the presentation.
The first major topic we'll focus on is the advantage of having your community built right into your IDE. We'll then show how we were able to quickly build the interface as a set of plug-ins for the latest NetBeans™ release build, taking advantage of things such as automatic updates and Matisse. This portion of the presentation covers topics such as adding new items to the toolbars in NetBeans, integrating with other Javalobby members in the collaboration server, searching Javalobby from within your IDE, displaying alternative information from JDocs inside your code, and doing other integration with the IDE.
Even though we spend a great deal of time in our IDEs, we do still use computers for other things. We will show how we are using Java Web Start technology to connect you to the community for both live chatting with other users and the ability to browse content in a richer format than that allowed by a Web interface. This portion of the presentation focuses on how we used technologies such as JDIC, JDNC, and the Java 2D™ API to provide a rich interface to the network and provide insight on future possible enhancements such as a rich interface to competitions at JavaBlackBelt. Throughout this portion of the session, we will discuss the difficulties we faced in using the technologies mentioned above and how we were able to solve them and build a unique interface into the community.
Finally, even developers need to have some fun, and the Tivo provides the perfect outlet for a little relaxation and hacking fun. Because of its Java SDK and dashboard called HME, the Tivo provides an unusual medium for displaying content from the community. Near the end of the presentation, we will discuss a few of the basics of how to develop a Tivo application and then show you a demo of our homegrown Tivo application that accesses live Javalobby data.
(Michael Urban)
-
TS-1598 Squawk: A Java™ VM for Wireless Sensor Networks
- Squawk is the Java™ Virtual Machine for the Sun™ Small Programmable Object Technology (Sun SPOT) wireless sensor/actuator device designed by Sun Labs. Industry and academia have received this device with much excitement, because it brings Java technology to the world of wireless sensor/actuators, allowing developers to use standard development tools to work directly on device. The current state of the art requires developers to program in low-level languages with little or no debugging support while running on device.
Squawk, a research project at Sun Labs to investigate the challenges of supporting Java programming for embedded devices, implements a full Java Platform, Micro Edition (Java ME) --formerly J2ME™ platform--VM. Squawk's tiny size--80 KB RAM and 270 KB flash, including CLDC and hardware libraries--makes it ideal for deployment on the Sun SPOT device. Squawk is one of the smallest publicly known Java ME platform VM implementations that enables Java technology on wireless sensor devices.
Squawk's reference implementation is written in the Java programming language. The interpreter and garbage collector are translated to C for speed on the Sun SPOT device.
Squawk was designed for small, memory-constrained devices and deploys Java technology-based applications on the Sun SPOT device that are one third the size of their classfile counterparts.
By supporting interrupts and device drivers in Java technology, Squawk is able to run on the bare metal without an underlying operating system, thus further reducing the overall footprint.
Squawk also provides a research implementation of JSR 121 (isolates), and multiple isolates can be run by the VM, enabling multiple applications to be run on the Sun SPOT device at the same time, without the extra memory overhead of standard JVM software implementations.
Further, applications (isolates) are allowed to migrate from one Sun SPOT device to another, providing for ease of reprovisioning in the field, remote debugging, and more.
This presentation discusses the internals of the Squawk VM: Squawk’s split VM architecture, design decisions to make application code smaller, how isolates are implemented and migrated within Sun SPOT devices, how interrupts and device drivers are supported by the VM, and extensions to the general connection framework (GCF) to support the radio (i.e., radio://).
The session includes several demonstrations and example code to illustrate particular features of the VM in a deployed wireless sensor application context.
()
-
TS-2002 What Is Happening With SOA in Open Source?
- Many key pieces of an SOA runtime are already becoming available in open source. This session brings together technical experts from Sun, JBoss, Logicblaze, ObjectWeb, Sonic Software, and Tuscany who are working on freely available SOA frameworks. The
panelists will briefly discuss their approach and the strengths and capabilities of their respective frameworks. The session also takes a look at new and evolving integration standards that are important in this space. After the brief technical persentations, the moderator will lead a technical Q&A session with audience participation.
(Peter Walker, Mark Hapner, Glen Daniels, Francois Letellier, Mark Little, James Strachan)
-
TS-3117 Advanced Sun™ Grid - Creating Applications for Horizontal Scale
- The Sun™ Grid Compute Utility is a great new way to tailor compute resources to
business needs. Using the Sun Grid Compute Utility, businesses without a data
center can get access to exactly the compute power they need and pay for only the
amount that they consume. By horizontally scaling to leverage the massive compute
resources available in the Sun Grid Compute Utility, tasks which previously took days
can be completed in hours of even minutes..
This session is designed to educate developers on how to create complex parallel
Java™ technology-based applications capable of taking full advantage of the Sun
Grid resources. Attendees will be taken through the full design process.
After a brief overview of the Sun Grid, this session will discuss the design
considerations associated with parallel development, including inter-node
communications using sockets or socket wrapping services, data management and
distributed partial failure / recovery in large scale deployments. It will elaborate on
some parallel design patterns and best practices for using Grid Engine, Java, Java
Networking, MPI, RMI, Jini/JavaSpaces, and the shared home directory, on Sun Grid.
Different approaches for communications between distributed Java components will
be discussed and illustrated by example applications and real time demos.
The session will specifically expand on the "worker" pattern for large task-oriented
applications, covering how to:
•provision shared code and data to a distributed collection of workers
•dynamically scale the number of workers to optimize throughput
•collect results
•manage termination conditions
It will describe an implementation of this pattern using Jini™ network technology and
JavaSpaces™ technology that allows a developer who to focus on the business logic.
A demo will be given to show how to use this infrastructure, called the "compute
server" to convert simple single-threaded task logic into a complete application that is
packaged and run as a distributed application in the Sun Grid Compute Utility
environment.
Attendees will leave knowing how to implement and deploy real-world applications on
the Sun Grid Compute Utility that are capable of leveraging the massive compute
resources available to them, which until recently were only available to a select few.
The talk with wrap up with a discussion of additional resources that are available to
help developers leverage this new environment.
Attendees should know Java technology and Java Networking and have a basic
understanding of grid/parallel computing. An introduction to Sun Grid Compute Utility
would be beneficial, but is not required.
(Dan Hushon, Amir Halfon)
-
TS-4915 Simpler, Faster, Better: Concurrency Utilities in JDK™ Software Version 5.0
- This session describes the concurrency utilities in the java.util.concurrent package that are part of JDK™ software version 5.0.
Earlier versions of the Java™ platform provided basic primitives for writing concurrent programs, but they were just that--primitive--and difficult to use properly. Building multithreaded applications on the Java platform's low-level concurrency primitives poses many traps for the unwary, and many developers were forced to reinvent the wheel by writing their own classes for thread pools, semaphores, and task schedulers.
To help users create robust, scalable, and (most important) correct multithreaded applications, JDK software v5.0 includes a rich set of high-level concurrency constructs, such as thread pools, semaphores, mutexes, condition variables, locks, barriers, and high-performance concurrent collection classes. Using these concurrency utilities will, in most cases, make your programs clearer, shorter, faster, easier to write, and more reliable. This presentation provides you with all the information you need in order to start using these tools.
(Note: This presentation is an updated version of last year's award-winning presentation.)
(Brian Goetz, David Holmes)
-
TS-5033 IntelliJ IDEA: Integrated Team Environment
- The story of IntelliJ IDEA evolution has always been a story of how the developers at JetBrains have made their own development life easier. Whatever feature was added--a tiny enhancement or an entire integration with another other tool--it was added for their own productivity purposes. IntelliJ IDEA is an ideal tool that ultimately supports the coding process or, in other words, covers almost every need of a single developer. But does project development end with just coding? Different types of builds and tests, continuous integration, code analysis, version control management, deployment, and maintenance--these are all irreplaceable parts of a project development process. And the developers at JetBrains are also facing the same problems at those stages as all other developers do.
So they decided to achieve an ambitious goal: develop an Integrated Team Environment, or TeamServer, that should become for a development team exactly what a full-featured IDE is for a single developer. ITE is designed as a combination of build-and-test server, continuous integration server, and collaboration server, to provide the following:
• Automation
• Tight tools integration
• Test/analysis frequency and precision
• Server-side inspections and coverage
• Seamless collaboration
TeamServer combines:
• A build grid that provides leverage for multiple-project load; enables more coverage, inspections, duplicates analysis, and the like; and guarantees more-accurate validation through the use of more installed hardware.
• Delayed commits to version control, where you don't need to worry about whether your last commit before leaving home could break the build; the system replaces the standard "Edit--Commit--Verify" scenario with "Edit--Verify--Commit," which ensures that the version in VCS is always clean and running. Moreover, it is you who decides what "clean" means: whether the code just compiles or unit tests are also passed, or maybe the new functionality is well covered and code inspection reports no problems.
• IDE integration that allows you to keep working in your friendly environment without any workflow interruptions, so that you can view build logs, monitor currently running tests, or review change diffs directly in IDE, with the opportunity to explore failure stack traces, navigate to failed tests with a single keystroke, obtain estimation for your changes to be tested, and fully control task priorities.
•Teamwork support with code-aware instant messaging and the ability to organize remote code reviews, avoid conflict merges, exchange files with no VCS involved, share IDE configuration, and code style and inspection settings.
Because the environment uses open protocols and a variety of client UIs and supports industry-standard configurations, version control systems, issue tracking tools, and so on, it guarantees that there won't be any vendor lock-in (not to say that it is IDE-independent).
With painless setup and maintenance, the TeamServer is going to become an ideal Integrated Team Environment ensuring productivity increases.
(Dmitry Zhemerov, Mike Aizatsky)
-
LAB-1510 Running with "Mustang"! Explore New Features of Java SE 6
- "Mustang" is the code name for the next release of Java™ Platform, Standard Edition (Java SE) 6. "Mustang" introduces a host of new and interesting features. Some of these features includes the following:
- Scripting Language
- Compiler API
- Annotation Processing API
- Splash screen, Tray API, smartcard
- Compiler intergration, Java technology's abstract syntax tree, annotation
processing tool
- Web services and XML processing with Java Architecture for XML Binding
(JAXB)
- Deployment via Web Start
- Servicablility with dtrace, jconsole
- DTrace for Java applications
Using these features, a developer can write some interesting and innovative
application.
(Chuk-Munn Lee, Sridhar Reddy)
-
TS-1109 The Sun™ Grid Compute Utility
- Sun™ Grid, a utility computing platform from Sun Microsystems, provides secure
shared access to substantial computing and storage capabilities, exposed as simple
to-use resources. A developer can leverage this utility platform to do everything from
complex analytics and parallel processing, to load testing of an application, and will
pay for only what they consume.
This session is designed to provide an overview of the Sun Grid architecture and
usage model and educate on how to harness the resources provided. Attendees will
be taken through the process of accessing the Sun Grid utility with a browser,
uploading resources, running jobs, and downloading output – basically the entire
lifecycle, from start to finish.
After a brief background of grids and parallel computing to set the stage, this
presentation will provide an overview of the Sun Grid, from a business and technical
perspective. It will then describe how to use the Sun Grid, including an explanation of
the execution environment and its components and the interfaces for interacting with
the grid. A simple Java application will be used as an example to demonstrate the
packaging, deployment, and execution steps.
The presentation will then introduce some of the challenges involved in more complex
parallel applications. A tool will be demonstrated that does much of the heavy-lifting,
leaving developers free to focus on the business processing logic when creating
parallel applications to run in the Sun Grid Compute Utility.
Attendees will leave knowing how to access and use the Sun Grid Compute Utility.
The talk with wrap up with a discussion of additional resources that are available to
help developers leverage this new environment.
Attendees should know Java and will benefit from some background in grid/parallel
computing.
(Fay Salwen, Peter Murray, Uday Subbarayan)
-
TS-1297 Filthy-Rich Clients: Animated Effects in Swing Applications
- Animation and whizzy graphical effects can be totally gratuitous, but they can also be used to make applications more effective and users more productive. This session examines fundamentals of timing and animation and shows techniques for implementing cool effects on Swing components. It also discusses recent advances in combining 2-D and 3-D effects in the Java™ Platform, Special Edition (Java SE) 6 ("Mustang") release.
(Chet Haase, Kenneth Russell, Romain Guy)
-
TS-1515 Location API: Practical Applications of JSR 179
- Autonomous or assisted? User-plane or control-plane? JSR 179 abstracts the "how" of location from the developer, but knowing how the underlying platform works can help you write a successful location application. In this session, engineers with experience in deploying handset-based and network-based location applications for enterprises show you how to use JSR 179 to get the highest-performance location fixes for your Java™ Platform, Micro Edition (Java ME) application. Demonstrations show how tweaking these parameters can affect performance on devices employing different location technologies.
(Ryan Wick, Zane Lyon)
-
TS-3097 Beyond JUnit: Introducing TestNG, the Next Generation in Testing
- This presentation discusses strengths and weaknesses of JUnit and introduces TestNG, a new testing framework based on annotations. TestNG features some innovative functionalities, such as the following:
- Groups for your methods, allowing you to run "database" or "fast" tests
- Ability to pass parameters to your test methods
- DataProviders, enabling data-driven testing
- Powerful execution model (no more TestSuite)
- Flexible test configuration
- Support by a variety of tools and plug-ins (Eclipse, IDEA, Maven, etc...)
- Embedding of BeanShell for further flexibility
- Default JDK™ software functions for run time and logging (no dependencies)
- Dependent methods
(Hani Suleiman)
-
TS-3310 Java™ ME Platform MIDP 2.0 Client Design for Digital Video Broadcast
- This session covers the design of a Java™ technology-based client for viewing high-quality video content on a mobile wireless device using DVB-H, the handheld version of the Digital Video Broadcast standard. The client was developed for a small-scale friendly user trial. The session includes an overview of a DVB-H broadcast architecture; presents mobile device requirements (hardware and software); and covers such issues as user interface (UI) design, the impact of mobile device constraints (screen size, performance, battery life), and the high-level application programming interfaces (APIs) and standards utilized. Mockups of the various form factors are shown as they pertain to different devices.
The mobile device also presents an interesting opportunity for interactive programming that enhances the mobile video experience. Because many definitions of interactive applications exist, interactivity is defined, for the purposes of this discussion, as features that enhance the mobile entertainment experience, provide additional program-related information, and/or enable mobile commerce opportunities. The presentation defines the different interactive applications available as well as methodology for creating unique interactive applications on the client side. In addition, the discussion covers the performance of various audio and video codecs, with a focus on identifying those best suited for low-bandwidth applications. The session concludes with a demonstration of a broadcast mobile video client and clips and a review of the future opportunities to improve the mobile TV experience. The audience gains insight into the state of the art for mobile video (specifically DVB-H) and designing multimedia-capable interactive clients for mobile wireless handheld devices (PDAs and mobile phones).
No special Java technology knowledge or skills are required to attend and benefit—just an interest in mobile TV.
(Erich Izdepski)
-
TS-3313 What's Hot in IBM's Virtual Machine for the Java™ Platform?
- IBM has provided a Virtual Machine for the Java™ platform (JVM™) for multiple platforms since the very early days of Java technology. The offering has matured significantly over the years, and this session aims to clarify the current distinguishing features and technology set the IBM JVM software offers, including a dive into the core of our JIT and GC technology. The presentation discusses the nature of cross-platform development and the challenges associated with delivering a cohesive technology across all IBM hardware brands, including xSeries, pSeries, and zSeries.
(Trent Gray-Donald)
-
TS-3765 Service Component Architecture: Approach to Security, Transactions, and Policy
- Service Component Architecture (SCA) defines a model for the development of business solutions using a service-oriented architecture. One of the main goals of SCA is to provide developers with a simple methodology for creating systems based on SOA. Some of the major areas of complexity in enterprise systems are those that deal with "infrastructure capabilities"--things such as security, transactions, and reliable messaging. This presentation describes the SCA approach to infrastructure services and how it provides a model that is simple to use for the average developer while still allowing full functionality and a detailed level of control for the experts in infrastructure services.
The session deals with SCA policies and profiles, showing how these allow the typical developer to be presented with simple choices, and it covers SCA policies and how they take advantage of existing specifications such as WS-Policy. SCA profiles are also discussed, showing how infrastructure capabilities are handled declaratively and are layered and composed to provide fine-grained control at the lower layers but present relatively simple coarse-grained choices at the higher levels. The relation of these layers to different development roles is also discussed.
(Mike Edwards)
-
TS-3966 A Robotic Dune Buggy Named Tommy
- Autonomous mobile robots are often considered the subject of science fiction or the result of costly R&D projects or are limited to small bot experiments. The DARPA Grand Challenge, held in October 2005, raised awareness of advances made in sophisticated autonomous robotics by offering a $2 million prize for fielding an autonomous vehicle that could be the first and fastest to traverse a vast stretch of desert terrain at mission-relevant speeds. This presentation is a follow-up to last year's popular 2005 JavaOneSM conference presentation on "Tommy," a completely autonomous silver egg-shaped dune buggy that was one of 40 robots invited to participate in the DARPA Grand Challenge events. Tommy is based entirely on Java™ technology. Tommy's sensing, planning, actuation, and real-time feedback control are all based on a combination of Java Platform, Standard Edition (Java SE) and Java Platform, Micro Edition (Java ME). The session provides a description and video footage of Tommy as well as a discussion of Tommy's Java technology-based design. It also tells the extraordinary story of a unique team's experiences at the DARPA Grand Challenge. The session ends with a discussion of Tommy's evolved platform and how others can develop autonomous robots now, using Java technology.
(Paul Perrone)
-
TS-4489 Introduction to AJAX
- Asynchronous JavaScript™ Technology and XML (AJAX)--called DHTML just a few months ago--has revolutionized (or "radically iterated," if you like) web application development in the short year since the term was coined.
What is it all about? Why are we excited about a set of capabilities that has been sitting in our browser for years? What can you do with it? And how can you do it?
AJAX is a technique for communicating with servers from within a web page without causing a page refresh.
This session provides an introduction to AJAX and an orientation to the state of the Ajaxian universe. It demonstrates the basic Ajaxian techniques through live coding and demonstrates and deconstructs more-advanced examples of AJAX.
Attendees learn how the Google Maps UI is built (and why it isn't as hard as it looks) and how AJAX can improve portals, community sites, and pretty much any other type of web application.
Furthermore, the session discusses issues surrounding how to create an AJAX application that doesn't turn into an unmaintainable pile of hacked-up crap JavaScript technology, including some focus on debugging techniques.
The presentation is delivered by Ben Galbraith and Dion Almaer, the cofounders of Ajaxian.com and longtime experienced Java™ technology developers.
(Ben Galbraith, Dion Almaer)
-
LAB-5655 Building AJAX-based JavaServer™ Faces Web Applications With Sun Java™ Studio Creator
- This lab shows how to use the Sun Java™ Studio Creator IDE to combine
Asynchronous JavaScript technology and XML (AJAX) interactions with JavaServer™
Faces technology to create dynamic web applications to provide realtime feedback
similar to interactive desktop applications.
(Jayashri Visvanathan)
-
TS-1302 Code Examples Using Java™ ME Technology and New Web 2.0 Services (Beyond Google Maps)
- Web 2.0 is a new paradigm of the Participation Age, giving greater public access to APIs of web services such as Google Maps and Amazon's book searches to public software developers to use as they see fit. This is perfect for today's Java™ Platform, Micro Edition (Java ME) technology-enabled small devices, such as advanced cell phones, with which connection to public services for fast and reliable information is important to on-the-go users without their having to worry about logging in and authenticating with each service.
This session describes code used for deploying new Web 2.0 services to Java ME technology-enabled cell phones.
By attending this session, conference participants will see code examples of how new Web 2.0 services are used in conjunction with Java ME technology-enabled wireless
devices.
Attendees should have general knowledge of Java software development and Java ME technology.
(Hinkmond Wong)
-
TS-3154 Introduction to Apache Derby
- Apache Derby is a 100% Java™ technology-based open source database. It is an excellent fit for Java technology and web applications, because it is fully embeddable; requires zero administration; has a small footprint; and is secure, easy-to-install, and fully standards-compliant. This session gives you an overview of the qualities and features of Derby, discusses the different scenarios and topologies in which it can be used, and provides an in-depth overview of Derby's support for the JDBC™ API and SQL and how it integrates with an application or web server.
(David Van Couvering, Dan Debrunner)
-
TS-3212 Large-Scale Client Deployment Using Java™ Web Start Software
- FIDUCIA IT AG, the largest IT provider for German cooperative banks, has relied on Java™ technology since 1998. From the beginning, FIDUCIA has deployed Java technology-based, rich client applications on the more than 100,000 systems on its network. At first, deployment was done via CDs, but since 2002 FIDUCIA has been relying on Java Web Start software for all client-related deployment tasks.
This presentation gives a short overview of how Java Web Start software is working and then covers the environment in which Java Web Start software is used at FIDUCIA.
Then it discusses whether it is possible to deploy 120-MB classes worth of JAR files over a wide-area network with limited bandwidth. The speaker then introduces the measures FIDUCIA has taken to guarantee delivery of software updates and patches while preventing excessive load on its WAN.
The next part of the presentation covers why it is important to FIDUCIA and its banks that software versions can be individually configured for each bank and how this can be achieved with Java Web Start software.
The last part of the session covers common pitfalls and bugs in Java Web Start software that have been identified and fixed together with Sun staff.
(Matthias Schorer)
-
TS-3361 Java™ EE 5 Platform: Even Easier With Tools
- In the past, the tools for Java™ Platform, Enterprise Edition (Java EE) mainly tried to hide the complexity of APIs. They tried to manage the boilerplate code in various Java classes and XML descriptors, through either templates and code synchronization, as in the NetBeans™ 5.0 IDE or IntelliJ IDEA, or code generation, such as various tools based on XDoclet.
This session gives you a quick overview of the main Java EE 5 platform features that scratch some developers' itches. The main theme of the Java EE 5 platform is ease of use. Do developers still need any help from tools? The presentation shows the tasks for which a good tool can help the developer be much more productive. It focuses on object-relational mapping, web services, and web application development.
In the area of Enterprise JavaBeans™ (EJB™) technology and object-relational mapping, the new standards coming in the Java EE 5 platform combine the best features of successful open source and commercial frameworks (such as Oracle TopLink or Hibernate) and give developers a unified API for writing portable code. Object-relational mappings can be used in the Java Platform, Standard Edition (Java SE), web applications, or the EJB architecture. The session includes demos of various tools that help define object-relational mappings in applications ranging from quick prototypes to large applications working with existing large-scale schemas.
The number of standards and technologies related to web services can be overwhelming. Some of the complexity of dealing with XML configuration files is gone, and web services can be fully configured by annotations in Java technology code. The presentation shows how the tool can help focus on the business logic performed by the web service as well as other aspects, including security, reliability, performance, and interoperability.
(Ludovic Champenois, Pavel Buzek)
-
TS-3418 Squeezing the Last Byte and the Last Ounce of Performance from Your MIDlet
- This session discusses the size and performance constraints imposed by handsets on applications based on Java™ Platform Micro Edition (Java ME) and the techniques for beating these constraints.
The mobile game and application industry is driven by mass consumer devices. Mass consumer devices such as Nokia Series 40 are constrained by their prices and build costs, so they have very limited memory and processing power. However, for the developers to reach the widest audience, it is usually mandatory to support these handsets. These constraints ultimately limit the sophistication, game-play, and polish of the mobile applications in the market.
This session gives attendees in-depth technical and commercial knowledge, tools, and a catalogue of successful optimization techniques for developing more-sophisticated and more-compelling Java ME platform-based applications for every handset. The speaker draws on his experience as the architect of mBooster, the world's only true optimizing compiler for the Java ME platform.
The session is intended for technical managers and developers engaged in Java ME platform or i-mode mobile development. Java ME platform or i-mode development experience is not required but is recommended for the session.
(Stephen Cheng)
-
TS-3627 What Comes Next in the Portlet Specification V 2.0 With JSR 286
- JSR 168 defined the first version of the Portlet Specification for the Java™ platform and provided the basic definitions for portlets and portlet containers, invocation of portlets, portlet application packaging, and the portlet API. JSR 168 has already gained wide industry acceptance, and many requests to enhance the first Portlet Specification have been made.
In version 2.0, the expert group plans to align the Portlet Specification with Java 2 Platform, Enterprise Edition (J2EE™) 1.4; integrate other new JSRs relevant to the portlet, such as JSR 188; and align with Web Services for Remote Portlets specification V 2.0, including the concepts of events between portlets and public render parameters.
This presentation provides details about the current status of JSR 286 and what items are likely to be part of the first public draft.
(Stefan Hepper)
-
TS-5386 Groovy Goes RFID with Smart Sensors for Real-World Control
- Groovy scripting is integrated with smart sensors and a commercial RFID network controller to manage real-world interactions in factories and warehouses.
RFID applications frequently need to sense and control tagged objects, based on their identity. A typical scenario includes optical sensing of a case moving on a conveyor belt to trigger reading of the RFID tag. Similarly, reading the identity from a tag may trigger an actuator to redirect a case to a different destination. In general, there is a need to control an open-ended set of environmental sensors and industrial actuators
based on RFID identities.
The Sun Java™ System RFID Software platform is one example of an RFID middleware system driven by a network controller. Readers are nodes on the net that are centrally discovered, provisioned, and managed by the central controller. Using Rio, the architecture generalizes easily to broader sensing and control tasks.
Smart sensors have been integrated into this RFID middleware platform by use of an adapter layer that interfaces third-party RFID readers into the framework. Using the Distributed Data Acquisition Control for the Java Platform (JDDAC) node software, a networked device based on the Java Platform, Micro Edition (Java ME) and on Systronix's JSTIK microcontroller board is implemented, with support for many transducers through Opto 22 hardware. Both the transducers and their data follow IEEE 1451 conventions for self-description, enabling a "plug and play" approach. The JDDAC node device is available on the network as a peer to existing RFID readers.
Groovy is integrated into the RFID network controller, providing developers with a simple but powerful scripting facility to control sensing, triggering, and other interactions with the real world.
This presentation demonstrates a working system and walks through the Groovy scripts, showing their potential to address RFID customer requirements.
(James Wright, Jim Clarke, Bruce Boyes)
-
TS-8401 Beyond AJAX: Asynchronous JavaScript ™ Technology and XML Native Processing
- AJAX technique enabled Web Application is a new user experience in terms of
interactivity, speed, and usability. It significantly reduces the necessity of reloading
and re-rendering of entire page by exchanging a small chunk of XML data
asynchronously behind the scenes.
However, there is a room for improvement in terms of interactivity, usability, and
productivity if we combine the native XML processing paradigm with Asynchronous
JavaScript™ technology and XML (AJAX) technique.
This study articulates how the xfy technology which is the native XML paradigm, and
AJAX technique can be fused together to address serious XML application needs in
business environments. The talk includes architectural overview, code comparison
and walk-through, and several live examples.
()
-
BOF-0509 Hacking Vex Robotics by Adding a Smart Java™ Technology Brain
- The Vex Robotic Design System is like an Erector Set on steroids. It's a system of motors, metal parts, plastic gears, treads, and wheels capable of constructing R/C vehicles weighing several pounds. Autonomous operation is possible but is not the main focus of the system (user memory is only about 32 KBytes, for one thing). But if you consider the Vex platform's usefulness as a mechanical platform, it's a very compelling system. Compared to Legos, it's more expensive, physically larger, harder to assemble, and much more rugged.
All it lacks is a really good brain. This presentation describes how the speakers adapt their JCX Java™ technology-based control system to be the "superbrain" for Vex. JCX also enables mixing Lego and Vex motors and sensors, as well as other common robotic sensors. This includes 802.15.4 radio links to Crossbow motes, Sun™ Small Programmable Object Technology (SunSpot), and other wireless sensors.
(James Wright, Bruce Boyes)
-
BOF-0591 ABCs of Swing Text Components
- There are so many things you can do with Swing text components. This session addresses how to use what is in the swing.text package already as well as how to extend functionality when necessary.
(Igor Kushnirskiy)
-
BOF-0797 Building Transactional Web Services: Combining ACID Transactions and Long-Running Compensations
- The emerging world of web services and e-commerce places requirements on application developers to ensure consistency in the presence of failures (machine, network, and so on). Without consistency guarantees, users find it hard to trust services and therefore service providers run the risk of losing business and their reputation. In the traditional world of distributed objects, consistency guarantees are typically provided by transaction systems that have the well-known ACID (atomicity, consistency, isolation, and durability) properties. However, strict ACID semantics require the use of a blocking protocol, so that resources acquired within the scope of such a transaction must remain inaccessible to others until that transaction has completed. In a tightly coupled environment such as a Java™ Platform, Enterprise Edition (Java EE) technology-based intranet, where transactions are typically of short duration, this is not a problem. In the world of web services, where business interactions may span hours or days, however, ACID semantics become too restricting.
The web services transaction specifications from IBM, Microsoft, and others set out to provide extended transaction models in which ACID properties can be weakened in a controlled manner, depending on the requirements of the service; these models are often referred to as forward compensation transactions. As such, resources do not need to be reserved for extended periods of time, as long as users and applications can cope with the (hopefully rare) occurrences in which such resources are no longer available when the transaction terminates. In addition, interoperability with existing ACID transaction applications and systems is extremely important: Back-end systems may well continue to use such transactions to maintain internal consistency. Therefore, it is possible for a transaction to glue together "islands of ACID-ity" with non-ACID services--what Gartner terms multimodal transactions.
How do application developers actually use these transaction models? How can they be tied into Java EE technology? This presentation describes the issues that lead to the development of web services transactions and then steps through the development of a real-world transactional web services application that uses both ACID transactions and compensation transactions within JBoss. It shows how Java EE technology resources, such as databases and JMS implementations, can be tied into a global web services transaction.
(Kevin Conner, Mark Little)
-
BOF-0899 The Java™ 3D API and Java Bindings for OpenGL
- The Java 3D API provides a set of object-oriented interfaces that support a simple, high-level programming model you can use to build, render, and control the behavior of 3-D objects and visual environments. With the Java 3D API, you can incorporate high-quality, scalable, platform-independent 3-D graphics into Java applications and applets.
JSR 231 defines Java technology-based bindings to the OpenGL native 3-D graphics library. JSR 231 implementations enable pure Java applications to incorporate the full spectrum of OpenGL functionality to take advantage of the latest graphics hardware features on a wide range of platforms.
This session includes a short presentation followed by an open discussion. The presentation describes the community source projects on java.net and gives a status update on each project. It then discusses the new features in the 1.5 version of the Java 3D API and the initial implementation of JSR 231. We will then give a short
presentation on Java Bindings for OpenGL, including a demo, followed by a question
and answer session.
(Kevin Rushforth, Chien Yang, Travis Bryson, Kenneth Russell)
-
BOF-2368 Restructuring a Web Application, Using Spring and Hibernate
- Most simple web applications are still developed without major use of the infrastructure packs that are currently available. Several developers use JDBC™ technology and implement most of the web GUI from scratch.
This presentation describes the experience in the speaker's company of redeveloping a web application without using any infrastructure packs.
The application in this case is a mobile phonebook synchronization server that was developed at the end of 2004 and deployed at a Brazilian carrier. After the original development, there was a request to include new functionalities and restructure the application. There was an option to just continue evolving the current server, but because the code was not well structured, the risk of doing that was high. The final proposal was to develop everything from scratch but with existing infrastructure solutions such as Spring and Hibernate. The session presents some metrics of the code size and performance of the old and new servers and discusses some of the lessons learned.
Attendees learn about core functionalities of Spring and Hibernate and see the impact of their use in a real application.
This BOF will have a short presentation followed by Q&A session. The presentor will
use a laptop to present slides. Attendees will be encouraged to share their experience with similar re-factoring problems.
(Gustavo de Paula, Devendra Tewari)
-
BOF-0204 Swing Advanced Testing and Debugging
- Testing is an important part of programming, but testing of graphical user interfaces has always been problematic. This session discusses common problems with tests for Swing components and gives some recommendations on how to do GUI testing properly.
The speaker, who is experienced in various GUI testing techniques, such as using java.awt.Robot for regression testing and using the "golden images" approach, shows how tests are created in Swing and discusses advantages and drawbacks of alternative testing techniques.
(Alexander Potochkin)
-
BOF-0251 Project GlassFishSM: Where We Are Today and Where We Are Going
- It's been about one year since Sun started Project GlassFishSM, an open source application server based on Java™ Platform, Enterprise Edition (Java EE) 5. Since then contributions have been made by Oracle for the Java technology-based persistence code based on Oracle TopLink and also by many individuals who want to make an impact. Currently Project GlassFish is fast approaching its first stable final release. In this session, learn what has been implemented, hear what others have done with the technology, and find out the roadmap for future implementations of the Java EE platform and how you can participate.
(Carla Mott, Amy Roh, Jim Driscoll)
-
BOF-0289 The Sun Small Programmable Object Technology (Sun SPOT): Java™ Technology-Based Wireless Sensor Networks
- The Sun Small Programmable Object Technology (Sun SPOT) is a small wireless sensor that runs a version of Java™ technology called Squawk that is compliant with the Java ME platform. Users of the Sun SPOT and those interested in finding out about the platform are encouraged to come to this session and meet each other.
The Sun SPOT platform, developed at Sun Labs, is a small, battery-powered wireless device with an application development environment based on the Java programming language. The Sun SPOT, smaller than a deck of cards, comes equipped with a 32-bit ARM processor and an IEEE 802.15.4 radio for wireless communication. Stackable boards include sensors and actuators such as accelerometers, light detectors, temperature sensors, LEDs, push buttons, and general I/O pins. The devices can be duty-cycled to run for months on a single charge of their rechargeable battery. The small-footprint Java virtual machine, called Squawk, can host multiple applications concurrently and requires no underlying operating system. The full platform includes tools for programming, deploying, configuring, monitoring, and debugging the Sun SPOT network.
The session is informally structured but should include several demos and presentations on existing Sun SPOT projects. Those thinking of using the Sun SPOT for specific applications are encouraged to describe their ideas to the group, so it can discuss the suitability of the platform for the application. Attendees will find fruitful contacts and should leave with their questions answered.
(Randall Smith)
-
BOF-0326 Testing a Persistence Layer Without a Database (Almost)
- It is essential to write unit tests for an EJB™ 3/Hibernate/Java™ Data Objects (JDO)-based persistence layer, but such tests can be complex and difficult to write. What's more, the overhead of accessing the database can cause the tests to take an unacceptably long time to run.
This session describes unit testing strategies that solve these problems and can be used for test-driven development. It explains easier, yet effective, ways to write unit tests for persistent objects. You learn how to write fast-running tests for the persistence layer that make minimal use of the database.
The goal of the BOF is to share testing techniques found to be useful. It begins with a short presentation on some effective testing techniques and concludes with a general roundtable discussion.
(Chris Richardson)
-
BOF-0420 Best Practices: Getting Comfortable With "ilities"
- Thirty years ago, software engineering's Barry Boehm said that quality is a bunch of "ilities." This session looks at improving the quality of Java™ platform client applications in the areas of reliability, usability, understandability, modifiability, testability, portability, and accessibility through the implementation of I18N, online help, accessiblity, undo, SplashScreen, and preferences.
(Roger Brinkley)
-
BOF-0139 Advanced Layout Techniques
- This session describes advanced layout techniques for consistent cross-platform multilingual layout. It summarizes problems you face when finding and implementing a visual design that complies with modern style guides. It also presents goals for layout systems and motivates and explains different concepts and layout approaches. Finally you learn about decent layout systems that help you implement professional design at affordable costs.
(Karsten Lentzsch)
-
BOF-0220 Test Patterns In Java™ Technology Development
- Testing is an important part of software development. Effective testing is a key factor in reducing total cost of maintenance of any application over its lifetime. It reduces the cost and time of development and can increase savings on quality assurance. Knowing when to invest in better design, in postdevelopment quality assurance, in manual tests, or in automatic testing forms a basic difference between successful and unsuccessful software projects in these tough and competitive days.
This presentation starts with general motivation and presents automatic tests as a form of functional specification. It then quickly delves deep down into hard-core JUnit test examples showing various forms of regression tests verifying algorithm complexity, memory management, data structure sizes, deadlocks, race condition behavior and tests randomly generating new test cases, simulating user clicks in the UI, API signature tests, and so on.
Attendees should know what tests are and that tests are an important and useful part of software development. The presentation demonstrates practical usage of a test framework. You learn techniques, tips, and tricks for testing various aspects of real-world Java™ Platform, Standard Edition (Java SE) applications. The session also gives examples of the savings and improvements that were achieved by increased usage of extensive automatic testing in the development of the NetBeans™ IDE and platform.
(Jesse Glick, Jaroslav Tulach)
-
BOF-0455 Test Your Java™ EE Platform-Based Application End to End in 20 Minutes -- Really!
- Are you and your team wasting weeks and weeks on complex manual testing?
DDSteps is a great new open source tool that makes full end-to-end testing of your Java™ Platform, Enterprise Edition (Java EE) application possible. What used to take three weeks of grueling manual testing can now be run with JUnit in just 20 minutes. How? This session shows you!
The key to end-to-end testing is handling all the combinations of test scenarios and test data. Often you want to run the same scenario many times, only with different data. With DDSteps, tests are broken down into generic test steps, which are then reused, just varying the input and output data for each run. DDSteps handles all test data in an elegant and consistent way--it sets up your database and provides input data for your test cases and expected output data. How? This presentation tells you!
Testing a Java EE application end to end means handling your whole Java EE platform stack. It means driving your web application with a browser, clicking buttons and running JavaScript™ technology. It means setting up your databases in a known state before each test. It means handling Java Message Service (JMS) technology queues and so on. DDSteps brings all of this together and makes best-of-breed open source testing tools available in a consistent and reusable way. How? The session breaks it down for you.
DDSteps is 100 percent JUnit-compatible, so it's already integrated with your IDE and your project! You build on your JUnit skills, and you have the full power of Java technology when writing tests. How? Come to this session to see it run!
Visit www.ddsteps.org.
This BOF will be an in-depth presentation, demos and code showing how to test a
Java EE web application using the open-source test-framework DDSteps. Finally: A
brain-storming session were you can influence which new features should go in
DDSteps.
(Adam Skogman, Björn Granvik)
-
BOF-0503 Java™ Technology in an Intelligent Swarm of Heterogeneous Lego Robots
- This session reports on continuing work on developing Java™ technology for use in university-level robotics. It focuses on the issue of creating cost-effective and easily programmed intelligent robot swarms (n>10).
Interesting swarms are composed of heterogeneous robots, but this quickly complicates programming. The presenters previously simplified the heterogeneous programming problem by using I/O tagging and reported on this at the 2005 JavaOneSM conference, in TS-1464.
This presentation describes how they have successfully created a swarm of heterogeneous robots, based on Lego mechanical components, sharing a common code base, with a variety of non-Lego sensors.
(Bruce Boyes, Russ Fish, Daniel Fish)
-
BOF-0609 Project Looking Glass: Meet the Team and the Community
- Project Looking Glass (LG3D) is a java.net open source project that explores bringing a richer user experience to the desktop and applications via 3-D windowing and visualization capabilities.
This talk quickly recaps the progress made since last year, summarizes the current status, and then demonstrates LG3D applications developed by the LG3D community (this may include granting awards). The last half of the BoF session is dedicated to discussions of LG3D killer applications, LG3D API improvements, and community activity suggestions for this year.
The session gives attendees a deeper understanding of the technology and the APIs as well as a chance to talk with team and community members to exchange ideas and suggestions regarding the project.
(Hideya Kawahara, Paul Byrne, Deron Johnson)
-
BOF-0639 Corporate Cola: Visualizing Your Email
- The goal of the IBM Corporate Cola initiative is to create an enterprise-wide repository of semantic information. This session discusses technologies and architectures that are suitable for creating such a repository. It also describes the effort to populate the repository with information extracted from volunteers' Lotus Notes mail files and the scalability challenges this presented. The presentation also looks at the Ontology Manager, a web-based system for registering, discovering, and managing OWL ontologies, which are used to express data in the Corporate Cola system.
Finally, the session covers the Corporate Cola Visualizer, a Swing-based navigator that allows you to explore relationships between people and keywords contained in your email file.
This BOF will be a presentation and a demo from a laptop and then Q&A.
(Dima Rekesh)
-
BOF-0684 JSR-277: Java™ Module System
- The JSR-277 specification aims to address the classpath hell, JAR hell, and extension hell that have been well known to many Java™ technology-based developers for years. The specification defines a distribution format and a repository for collections of Java code and related resources. It also defines the discovery, loading, and integrity mechanisms at runtime. For more details, check out
http://www.jcp.org/en/jsr/detail?id=277
JSR 277 is targeted to be delivered as a component of Java Platform, Standard Edition (Java SE) 7.0 ("Dolphin").
This presentation goes over the scope of JSR-277, including the distribution format, versioning scheme, repository, runtime support, and tools support. It also provides an update on the latest specification development.
This BOF will be a presentation followed by a Q&A session
(Stanley Ho, Michal Cierniak)
-
BOF-0895 What Is Happening With New I/O
- This session covers what is happening with the New I/O APIs. JSR 203 (More New I/O APIs for the Java™ Platform) is working on a second phase of New I/O to add APIs for file system access and more I/O capabilities. In the session, members of the JSR 203 group give a brief presentation on this JSR and then open the floor to questions and discussion.
(Alan Bateman)
-
BOF-2116 Project GlassFishSM: an Easy Web Application Development Java™ Server
- Project GlassFishSM is the new Sun easy web application development server. This presentation looks back at the goals of defining Minnow and demonstrates how easy is to develop web applications, from a simple servlet to a more complex JavaServer™ Faces (JSF) application.
(Jean-Francois Arcand)
-
BOF-2477 Secure Interoperable Webservices Using XML Web Services Security 3.0
- Web services have changed the way business is carried out. They have enabled
organizations to take advantage of each others' core competencies and provide
solutions to their customers at a very low cost. Doing business online requires data to
be exchanged, and in the web services world, data is exchanged in the form of XML.
It becomes quite important to protect the confidentiality and integrity of the data being
exchanged. The XML web services security implementation that is delivered as part
of various Sun products, including Java™ Web Services Developer Pack and Sun
Java Application Server, provides a framework for enabling end-to-end message-level
security for web services applications. This framework, based on security
specifications from various standards organizations, such as OASIS WSS, W3C,
Java Community ProcessSM ("JCPSM"), and WS-I, reduces the complexity
involved in creating interoperable secure messages, through ease-of-use features.
XML Web Services Security 3.0 EA provides support for WS-Trust,
WS-SecureConversation, and WS-Security Policy, enabling customers to define
security polices that can be attached to a service. This session demonstrates the
interoperability of Sun and Microsoft implementations of web services. Attendees
learn how to develop and configure security in their web services to achieve
interoperability with Windows Communication Framework. The speakers interact with
developers and obtain feedback.
(Venugopal K)
-
BOF-2496 Building Development Tools on Top of the NetBeans™ IDE
- The presenters in this session used the NetBeans™ IDE as the basis for building a new development environment for the Java™ Platform, Micro Edition (Java ME) CDC Platform. They share their experiences with the NetBeans platform in and demonstrate a real application built on top of the NetBeans 6 platform, which is used for developing CDC applications, with all its features that were developed on top of the NetBeans platform.
(Petr Hrebejk, E-ming Saung, Jan Becicka)
-
BOF-2506 A Close Look at the Sun Java™ Wireless Toolkit Support for New JSRs
- The Mobile Service Architecture JSR (JSR 248) is targeted at defining a single development platform for MIDP developers and driving fragmentation down. Much like JSR 185 (Java™ Technology for the Wireless Industry--JTWI), it groups together numerous JSRs and adds clarifications where necessary. Come to this session to see a thorough and detailed walk-through of all the new tools the next version of the Sun Java Wireless Toolkit will include to help developers build MIDlets for all these
JSRs. The presentation discusses each component JSR of MSA and features all of
its corresponding tools.
The BOF will start off with some slides giving an overall view of the new JSRs that
are supported in the latest release of the Sun Java Wireless Toolkit. The main focus
of the BOF will be a deep dive and step by step walk over all the tools that are
available within the Sun Java Wireless Toolkit to aid developers to build compelling
Java ME applications.
(Ariel Levin, Shlomo Swidler, Uri Katz)
-
BOF-2526 Performance Enhancements in JAX-WS
- This session focuses on the improvements in Java™ API for XML-Based Web Services (JAX-WS)/Java Architecture for XML Binding (JAXB) implementation and its performance improvements.
(Vivek Pandey, Kohsuke Kawaguchi, Jitendra Kotamraju)
-
BOF-2704 Java™ ME Authoring for the Real World
- Any professional who develops for mobile devices is facing challenges to gain the maximum performance and functionality from each device. The device utilization effort brings a new kind of development issue generally called device fragmentation. Typical mobile applications must be ported, optimized, tested, distributed, and sustained, for numerous different devices to succeed on the market.
This presentation addresses a scalable Java™ Platform, Micro Edition (Java ME) platform fragmented development and porting solution from Sun based on the NetBeans™ IDE. The session also includes application optimization examples for RIM Blackberry devices. Attendees see a real life cycle demonstration of a typical Java ME platform project with several alternative paths, scalability, and freedom of choice. You learn about Sun development tool assets for mobile developers as well for the whole unconstrained mobile application business.
The BOF will start with a short introduction of the topic and related issues followed by several solution demonstrations. Open discussion about your Java ME authoring issues is expected at the second part of the assigned time slot.
(Adam Sotona, Ian McDonald)
-
BOF-2832 Portlet Best Practices
- The Portlet specification allows people to create portable components for portals. It offers an API that allows developers to create personalized content for end users. This session aims to teach about how to develop a portlet that is a good citizen of a portal and how to leverage the Portlet API at its best.
This BOF will examine a set of use cases during a medium sized presentation. It will be
followed by a a discussion where the attendees can propose their use case and discuss
the presented use cases.
(Julien Viet)
-
BOF-2934 Writing Efficient Java™ Technology Code for Jazelle
- This BOF session details the techniques needed to write Java™ Platform, Micro Edition (Java ME) applications that run well on the ARM Jazelle hardware acceration technology.
It also illustrates how you can preserve the readability and structure of your Java application while still taking advantage of good programming techniques for speed.
Jazelle is fast becoming the standard in the majority of phones worldwide and is used with VMs from many sources, including Sun's CLDC HI implementation. This is therefore an essential session you must attend if you are involved in mobile Java application writing.
This BOF will have a presentation with slides, and then questions and answers, and
possibly a demo.
(Rodolph Perfetta, Andrew Booker)
-
BOF-9450 Server-side Scripting in the Java™ Platform
- Scripting is one of the most exciting topics in programming these days. Developers want to write fewer lines of code and take advantage of the dynamic nature of scripting languages to bind components together. Hence, the popularity of Javascript, Ruby, Python and other scripting languages. In this BOF, we will discuss a java.net project which focuses on making scripting languages an integral part of the server environment.
(Roberto Chinnici, Ken Paulsen)
-
BOF-0008 Infrastructure for Diagnostics and Failure Injection of Distributed Systems
- At a high level, enterprise application servers are designed to configure resources and handle failures in their subsystems. It is critical for a highly available application server to make sure it has the right configuration and to have a methodology to prove its ability for failure scenarios. If these two aspects are taken care of, customers can have easy development/deployment activity and a solid production environment. This presentation discusses how to take care of these aspects.
Diagnosing the application server configuration is the primary thing to do before starting to debug application failures. This can save a lot of time during the actual debugging. Also, you can be sure about the right configuration before starting debug activity. A simple example of diagnostics is to use the JDBC™ API connection pool for actually making a connection to the database intended. If you can make the connection, the diagnostics pass. Diagnostics can be done to check instance availability, Java™ Message Service (JMS) broker configuration, high-availability settings, verification of deployment, and so on.
Now let's think of an infrastructure that can help us in doing all these diagnostics. The infrastructure or the tool for verification of the server configuration can be built with application-level expertise, because the configuration will be experimented on in the same way that an application will be. Because the diagnostics are run before debugging, the developers can focus on the real issues of the application instead of the simple errors in the configuration. This will be efficient for the customers in their development/deployment cycle.
Once customers complete the development/deployment phase, the real challenge for application servers begins. In real time, application servers might crash and machines can be down or might lose network connections. The enterprise application server is designed to handle these scenarios in a seamless way that is transparent to the end user. How do we make sure the failure scenarios really work? Suppose a scenario is not working and knowing about this in real time is too costly. There is a need for simulating the failure scenarios.
This necessitates a distributed test environment with a facility for failure injections. The tool can provide a programmatic interface to configure, administer, test, and inject failures into the system under test. A tester can design a scenario to schedule and synchronize the desired events in multiple areas within the system under test. Failures can be simulated for killing processes, network failures, and the like.
(Gopal Jorapur)
-
BOF-0367 JDBC™ Technology-Based Metadata Recipes
- Database metadata is a key in developing enterprise web-based applications, such as SQL adapters and connectors. With database metadata, you can browse database catalogs, schemas, tables, views, and stored procedures. Metadata is a highly useful feature of JDBC™ technology, but its format is not suitable for web-based applications (web browsers can't use JDBC's DatabaseMetaData and ResultSetMetaData directly). This presentation provides recipes that present metadata as an XML/HTML format. Using JDBC and Java servlets, the presentation shows that metadata is vendor-dependent. Programmers have to be very careful in using metadata for performance reasons.
The session shows how to get the following for web-based applications:
1. Catalogs/schemas
2. Tables/views/stored procedures
3. Table types
4. Stored procedures signatures
5. Table columns and types
6. Table PKs and FKs
Examples use MySQL and Oracle databases. The presentation is a summary of the speaker's recent book on JDBC metadata: http://apress.com/book/bookDisplay.html?bID=10098.
This BOF is a short presentation followed by a Q&A session. The major point of this BOF is how to use JDBC metadata in homogenous and heterogeneous database environments.
(Mahmoud Parsian)
-
BOF-0461 The Spring Rich Client Project: Effective Desktop Application Architecture
- The Java™ Foundation Classes (JFC/Swing) API delivers a mature toolkit for desktop application developers to build on. With a strong base in place, the focus is now turning toward ways to improve developer productivity. Developers seek effective desktop application architectures atop JFC/Swing that allow them to focus on creating business applications that look professional and stay maintainable. This session introduces the Spring Rich Client Project (Spring Rich) as an answer to that need.
In particular, the session highlights Spring Rich's capabilities as a desktop application framework, including its integration with core Spring for overall application configuration and layering. It also covers the design strategies behind Spring Rich's solutions to common desktop application problems, in areas such as "as you type" control data binding and validation, metadata-driven control creation, centralized GUI commands, form building, and security and remote access.
The session showcases the value of using a lightweight container within a JSE/Swing environment, contrasting it with traditional Swing programming models. It also discusses how Spring Rich integrates with several established projects in the desktop Java technology space, including JDNC, JGoodies, Glazed Lists, and JIDE.
You learn the benefits of using a lightweight, test-driven approach to building JFC/Swing API-based applications. You also hear about the key issues facing developers of nontrivial desktop applications and how Spring Rich addresses them. You'll leave with a grasp of how to use the JFC/Swing API in a productive fashion.
An informal gathering for the Spring Rich Client community. This session will provide
an opportunity for developers to discuss desktop development issues they are facing
and relate how Spring Rich Client has helped address them. In addition, we will use
this as an opportunity for the community to discuss and prioritize the product road
map going forward.
(Keith Donald)
-
BOF-0492 The French Online Tax System: Mission-Critical Lightweight Java™ EE Technology
- A lot has been said about how dependency injection, AOP, and annotations will change the way we build enterprise applications. This technical case study shows how a mission-critical application handling up to 25,000 tax declarations and digital signatures per hour used these innovations to provide tax services to 34 million French taxpayers well before the EJB™ 3 specification standard was finalized.
The French web-based tax declaration, with its core built in only three months, relies on Hibernate and Spring to extend the core services provided by the Java™ Platform, Enterprise Edition (Java EE). Throughout this case study, you learn how these frameworks have played a significant role in improving development productivity and software quality. Starting from the difficulties faced with the first generation of the online tax system, attendees learn how modern "lightweight" technologies can be applied to building mission-critical applications that tackle those difficulties. Through a series of real-world code samples and design diagrams, the presentation introduces the key choices that have made this project a success. Attendees will walk away from this session with a good dose of confidence to apply these choices, many of them now standardized as part of the EJB 3 specification, to their own project.
Attendees should have a good understanding of Java EE technology. A basic understanding of AOP and dependency injection is a plus.
(Thomas Van de Velde)
-
BOF-0534 Dealing With Deadlocks in Java™ EE Platform-Based Applications
- The complexity of Java™ Platform, Enterprise Edition (Java EE) applications is continually increasing, as is the abstraction level between developers' code and the systems on which the code runs. At the same time, hardware and software improvements enable more things to run concurrently. These factors increase the probability of application deadlocks and complicate the process of finding and fixing them. This session discusses a few broad patterns of deadlocks, some approaches to help identify them, and some rules of thumb for fixing or dealing with them. It also covers a few changes container vendors can make that simplify finding, fixing, and coping with deadlocks. The presentation addresses database deadlocks and a few patterns of cross-resource deadlocks (database locks crossed with Virtual Machine for the Java platform [JVM™] locks, for example) to which Java EE applications are particularly susceptible.
The speakers wiil present slides illustrating some real-world deadlock scenarios and
walking through some of the diagnosis steps. This will be followed by a short Q&A
session.
(Petko Chobantonov)
-
BOF-0554 Dynamic Scripting Languages BOF
- Gilad Bracha at Sun is working on extensions to the Virtual Machine for the Java™ platform (JVM™) to facilitate dynamic scripting languages on the Java platform. At the same time, JSR 223 (scripting languages and Java technology) is near maturity. This BOF session brings together leaders, users, and critics from the Jython, Groovy, PHP, and Ruby camps for an exchange of ideas to develop a common understanding of the state of the art and practical examples of using dynamic scripting languages to solve problems.
(Frank Cohen)
-
BOF-0678 Meet the "Java™ Posse"
- The "Java™ Posse" is a weekly podcast with news and interviews related to the Java world. In this Birds of a Feather session, you meet the three hosts of the show as they record a situation report from the JavaOneSM conference.
(Tor Norbye)
-
BOF-0692 Advanced Audio and Graphics Development With the Java™ SE 6 Platform
- This session describes how to create cutting-edge 2-D/3-D accelerated graphics applications, games, and music software with real-time synthesized audio, using the latest features of the Java™ Platform, Standard Edition (Java SE) 6.
Example material covers the BSD open source Typhon framework, Scream audio engine, and Auriga3D game engine, which enables leading-edge development of multimedia applications. EGR Software is using these technologies to develop modern 3-D games with real-time procedural interactive audio, and the technology is ready to leverage in any performance-sensitive GUI application. Typhon provides an open source uniform platform for real-time software development that extends the Java SE 6 platform on Microsoft Windows and soon Linux and Mac OS X.
Scream Lite is a BSD open source API for utilizing the SuperCollider3 DSP audio engine. Scream is an extended engine that features support for the emerging Interactive XMF interactive audio standard, with additional support for real-time synthesis and procedural audio. Auriga3D is a BSD open source game engine that features a full production pipeline based on Quake3 built as a Typhon component and ready to be extended by third-party game developers.
Attendees will come away with an understanding of the modern graphics, audio technology, and the latest performance enhancements available to Java SE 6 platform developers. Content includes recent research directions and demonstrations, with source code available for all topics discussed. Java 2D API/JOGL integration is covered, along with Sun™ OpenGL® for Solaris™ 2.0 functionality such as the frame buffer object extension and pixel buffer objects with examples of how this technology enables high-performance 2D/3D OpenGL-enabled GUIs. The session includes a full-range six-channel sound system for demoing the Scream interactive audio engine and ambisonic spatialization software.
Check the outline and downloadable demos for up-to-the-minute presentation details, because this session offers the latest knowledge from the Java technology-based gaming community:
http://research.egrsoftware.com/conferences/2006/javaone/
This BOF will include several demo presentations of advanced applications of Java 2D, OpenGL, SuperCollider3 and other technologies for GUI, audio, and game
development interspersed with technical design discussion followed by a Q&A
session. Mike Leahy will provide a 6 speaker surround sound array in addition to projected video content.
(Michael Leahy)
-
BOF-0759 Creating a Digital Ecosystem: Service-Oriented Architectures With Distributed Evolutionary Computing
- This session presents a novel optimization technique inspired by natural ecosystems, in which the optimization works at two levels: a first optimization is a migration of services that are distributed in a decentralized peer-to-peer network operating continuously in time; this process feeds a second optimization, based on a genetic algorithm that operates locally on single peers and is aimed at finding solutions satisfying locally relevant constraints. Through this twofold process, the local search is sped up and yields better local optima, because the distributed optimization already provides a good sampling of the search space by making use of computations already performed in other peers with similar constraints. This new distributed optimization architecture, called a Digital Ecosystem, is created by extension of a service-oriented architecture (SOA) with Distributed Evolutionary Computing (DEC).
The Digital Business Ecosystem (DBE), an EU Framework VI project, aims to be a next-generation information and communications technology. In essence, the DBE will be an Internet-based environment in which businesses will be able to interact with each other in very effective and efficient ways. Imperial College London has created a prototype Digital Ecosystem, called the Evolutionary Environment (EvE), constructed using the EC system written in Java™ (ECJ) library, which extends the SOA of the DBE, the Execution Environment (ExE).
The EvE Digital Ecosystem will contain services specially supported by application software written to take advantage of the ecosystem. Because of the functionality of the ecosystem, these services will recombine and evolve over time, constantly seeking to improve their effectiveness for the user base. This will be achieved through DEC. Individuals within the Digital Ecosystem will be combinations of "services" (applications), created using evolutionary optimization, in response to business user requests for applications. These individuals will migrate through the Digital Ecosystem and adapt to find "niches" where they are useful in fulfilling other business user requests for applications.
http://www.digitalecosystem.org
A presentation on creating a Digital Ecosystem, which is created by extending a
Service Oriented Architecture with Distributed Evolutionary Computing, and its
application in the Digital Business Ecosystem project. The DBE is an EU Framework
VI project, which aims to be a next generation information and communications technology for end-to-end B2B interaction. Any questions will then be answered, which we hope will lead to an open discussion regarding the technology and its future
development.
(Gerard Briscoe, Maria Chli)
-
BOF-2170 Stronger Than AJAX: Swing in a Server-Side Web Architecture
- bof-2170
Financial guarantees are an important business at Siemens Financial Services. Five thousand professionals located around the globe are handling these guarantees. The Siemens GREAT project (Guarantee REquest and AccounTing) has delivered an application that supports these professionals in an ideal way by combining the advantages of a Swing-based rich user interface with the advantages of a web application deployed as a servlet. The application shows that a rich Internet application (RIA) based on Swing typically has industrial-strength characteristics superior to those of an Asynchronous JavaScript™ and XML (AJAX) solution. This presentation includes demos that show both the GREAT application and how Swing-based RIAs can be developed.
Rich-client functions are essential for the experts working in the guarantee processing centers of Siemens Financial Services. However, there are a few issues that make it impossible to deliver a conventional multimegabyte rich fat client in a global organization such as Siemens. The installed base of workstations and operating systems around the globe is too diverse, and network bandwidth to remote locations is limited. Using Swing and Java™ Web Start goes a long way toward resolving these issues, but it was not sufficient for GREAT. It was necessary to ensure that GREAT worked with several different JRE releases on the client and to minimize both the size and frequency of client downloads.
After evaluating several options, the GREAT team decided on an approach that uses on the client an application-independent presentation engine that supports multiple JRE releases and needs to be installed only once, thereby resolving both the version issue and the distribution issue. This approach uses server-side proxies to the Swing objects, leveraging Swing in a web architecture. Developers create their UIs with the server-side proxy classes that essentially offer the same API as Swing, as the presentation shows in code samples.
At runtime, the server-side proxies model the UI while the presentation engine displays it, applying an MVC design. Both the programming model and the runtime architecture are server-side, and the execution environments are Java technology-based on both sides. Compared to AJAX, such a pervasive Java technology-based approach has substantially superior industrial-strength characteristics: maintainability, reliability, availability, scalability, performance, and security are often a challenge for AJAX programs, because they have to rely on a scripting language and must work in a heterogeneous set of execution environments. The session includes a detailed account of how the pervasive Java technology approach taken in the GREAT project differs from AJAX and why the resulting application has superior industrial-strength characteristics.
(Bruno Schaeffer)
-
BOF-2224 What You Need to Know About Schema Design Patterns and Java™ Technology
- What do Bologna, Salami, and Garden of Eden have in common? No these are not sandwiches; they are some of the common design patterns used in XML Schema.
Almost all applications, not just web services, interact with XML documents defined in terms of XML Schema. XML Schema can be created by use of design patterns that affect usability, performance, and compatibility. Thus, selecting the appropriate
design pattern is essential.
This session provides an in-depth, pragmatic look at common schema design patterns and how design pattern selection affects interaction with various Java™ technologies. This session presents a comparison matrix, including aspects such as validation performance (Java API for XML Processing [JAXP] in both Java 2 Platform, Standard Edition [J2SE™] and Java 2 Platform, Micro Edition [J2ME™]), compatibility with data binding technologies (Java Architecture for XML Binding [JAXB] and XMLBeans), and IDE support.
This BOF have a short presentation followed by Q&A.
(Ayub Khan, Todd Fast, Chris Webster, Roderico Cruz)
-
BOF-2351 Richly Thin OSS User Interfaces via OSS/J and JavaServer™ Faces Technology
- This session describes the resources currently available for creating thin, rich-client-like ("richly thin") Operations Support System (OSS) user interfaces through the use of OSS through Java™ (OSS/J) and JavaServer™ Faces (JSF) technology.
It explains the current state of advancements in OSS/J (including its new discovery capabilities), the approaches to mapping an OSS/J in-memory model to graphic representations and on topological and georeferenced OSS/J representations. It also describes the state of the art in JSF user interface controls.
The session then compares the traditional user interface desktop client with what is available with the richly thin client.
An OSS/J discovery demo illustrates these concepts and the constructs behind them.
This Birds-of-a-Feather session requires familiarity with JSF and basic understanding
of Swing and OSS/J. The session will be carried in a slide presentation format with
demos throughout its length. Attendees will have some time at the end of the
presentation for Question-and-Answer.
(Cleo Barretto, Eduardo Abe)
-
BOF-2403 3G Americas' Java™ Technologies Roadmap for Rollout at Major North America Carriers in 2006
- The 3G Americas Java™ technology subgroup continues to focus on the adoption of Java technologies for next-generation wireless technologies within the Americas. The subgroup consists of operators and manufacturers and includes four core GSM carriers: Cingular Wireless, T-Mobile USA, Rogers Wireless, and Telcel, as well as technology providers such as Sun. The continuing goals of this subgroup are to:
1. Promote the adoption of the Java platform as a leading platform for delivering mobile data services to customers in the Americas.
2. Ensure that all the executives who make decisions within the carrier members clearly understand the value and benefits associated with adopting Java technology
3. Provide technical recommendations in regard to the Java Platform, Micro Edition (Java ME) platform that all Americas-based wireless carriers can evaluate to ensure interoperability.
This BOF will consist of a short slide presentation from a laptop projected on a
screen. The presentation will be followed by comments from panelists with plenty of
time for Q and A from the audience.
(Chris Pearson)
-
BOF-2428 Designing MIDlets for Multiexecution Devices
- There are now some MIDP implementations supporting the execution of more than one MIDlet concurrently, and this seems to be the path forward. The implications of this execution model are not necessarily obvious to MIDlet developers, and the goal of this BOF session is to introduce the concept of multiple-MIDlet execution and to describe how developers can write an application that takes advantage of this feature while avoiding its pitfalls. There is ample time for interactive discussion of the topic, with audience participation.
This BOF will being with a short presentation on the problem- and opportunity-space, followed by discussion.
(Ken Walker, David Oliver)
-
BOF-2794 Building Multiuser Tools for Process Improvement, Using the Eclipse Rich Client Platform
- Scalable, performing, and reliable multiuser tools need an architecture that is coherent and simple to develop to. The Eclipse Rich Client Platform (RCP) provides an excellent foundation for interaction with a single user. There are also many plug-ins to the framework to integrate the workbench with version control systems (VCSs) and other layers of infrastructure. This presentation considers the advantages and some pitfalls of developing on the RCP and options for integrating with a wider network of users and other platforms, as is required for Ivis' process improvement and project management toolset, xProcess.
Issues addressed include:
• User interface design with RCP
• Options for integration with server-side data, such as EJB™ 3.0, Java™ Data Objetcs, DAO, web services, or VCS
• Needs of disconnected users
• Interoperability with .NET and other platforms
• Merging concurrent changes
• Modeling processes and workflow in UML and supporting subsequent projects
This BOF will be a combination of presentation and demonstration. During the
presentation we will demonstrate the capabilities of the xProcess architecture,
focusing on concurrent and disconnected usage, by using 2 laptops - hopefully
projected on to 2 screens, provided these are available - to simulate real life
scenarios. Questions at any time during the BOF will be encouraged.
(Paul Kuzan)
-
BOF-4886 Eclipse Tooling for Java™ Technology-Based Annotations
- With the adoption of JSR 175, metadata in the form of Java™ technology-based annotations became a standard part of the Java language. Metadata is the centerpiece of several standard and emerging Java technologies, such as web services (JSR 181), the Enterprise JavaBeans™ (EJB™) 3.0 specification (JSR 220), and Apache Beehive (JSR 250). Metadata definitions can be very complex; to make them useful, IDEs need to provide tooling to make coding with them manageable.
This session summarizes and demonstrates new Eclipse features that help developers edit code that contains annotations--capabilities that are currently available for download at an Eclipse.org update site and others, planned for the future, that exist now in prototype form. Come meet members of the Eclipse Annotation Processing development team and talk to them about the current and future state of metadata tooling in Eclipse.
(Tim Hanson, Jess Garms, Gary Horen)
-
BOF-7995 What's Next for Sun™ Grid?
- Sun™ Grid has recently been launched to provide massive compute power as a utility
service to companies and individuals who do not want to own and manage their own
data center. It is initially targeted for self standing CPU intensive HPC style
applications, but it naturally raises the question of what next? What other sorts of
application computing services would customers find valuable in a utility model,
where they can just access it, use what they need, and pay as they go? What tools
and technological elements should be involved?
This BOF will specifically explore ways in which the Sun Grid Compute Utility might
evolve to support more interactive, long running usage scenarios such as Composite
Applications (SOA, Mash-ups, etc.) and Software as a Service (SaaS). For the Sun
Grid to support these kind of services, new mechanisms must be developed to
manage the virtualized resources in efficient and secure ways.
This BOF is designed to be a highly interactive session with a panel of people from
different organizations within Sun, including Sun Grid Engineering, Sun N1 Grid
Engine Engineering, Sun's CTO Office, and Sun Client Solutions.
(Daniel Templeton, Dan Hushon, Michael Wheaton)
Wednesday
- 9:45 - 11:15
- 11:00 - 12:00
- 11:30 - 13:00
- 12:15 - 13:15
- 13:15 - 14:30
- 13:30 - 14:30