10th JCM Sessions

From Jini.org

Jump to: navigation, search

10jcm.jpg

Contents

Abstracting Dynamic Routing with Workflows

Nigel Warren, Brunel Univeristy; Ewan Silver, Autonomic Systems Ltd.

Slides (PDF)

Many computable problems can be described as 'workflows' in which information takes a route or set of routes through a number of computational processes. On its path the information is transformed from a set of inputs to required outputs. Workflow models are important in a distributed computing environment, in which the data must flow between processes residing on a number of machines in order to complete a computational task.

As a part of ongoing research at Brunel University, we are designing an extremely simple but sufficient interface that can be supported by a number of underlying implementations of distributed object systems, including our own Jini based implementation.

We use an underlying 'object flow' model that can be described as a graph connecting any number of distributed processes that are traversed in order to perform specific tasks.

As we have shown in previous presentations, the system can be used to support distributed rendering and other video and audio processing tasks, as well as being intended to support other application areas such as Bioinformatics and mathematical simulation and modeling, via the use of application specific libraries.

We describe how Jini has been used in our implementation, encapsulating a number of common Jini and Javaspaces patterns. The interface can be implemented by any number underlying platforms, from simple local simulators to fully fault tolerant platforms.

Another Take on Introducing Jini and JavaSpaces: The Service Model and The Space Model

Brian Murphy, Sun Microsystems

Slides (PDF)

Video (not available)

Over the years, there have been numerous presentations given, books written, and user's list responses posted that have each attempted to introduce all or part of Jini and/or JavaSpaces technology to the uninitiated. Although this session will present many of the same descriptions and explanations provided in prior presentations, it will also present a point of view one might not have considered previously. In particular, this session discusses distributed systems in general, emphasizes the role of the programming model in such systems, and describes how Jini and JavaSpaces are related through the two distributed design strategies that are supported by that model: service-based design and space-based design. Although this presentation was created to act as yet another introduction to Jini and JavaSpaces technology, in addition to those attendees who are somewhat new to Jini and JavaSpaces, the experienced user may also find some of the ideas expressed in this session interesting and useful as well.

A Novel Approach to Surrogates

Alex Krapf, Codemesh

Video (not available)

Sometimes the hurdle that Jini must overcome is the unavailability of Java for a certain machine or device. This presentation introduces the concept of a shared JVM that runs on a Java-enabled host and executes the Java requests that come from a non-Java-enabled host. The non-Java host can run an application that is written at a high level of abstraction in C or C++.

The solution involves a general purpose abstraction for interaction between native applications and a Java server via TCP/IP. The session will discuss the challenges, performance and reliability implications, and lessons learned from implementing such a solution

Beyond JDK 1.4

Gregg Wonderly, Cyte Technologies, Inc.

Slides (PDF)

Video - (mov)

The new features in JDK 1.5 and beyond provide some interesting capabilities which might be useful to Jini developers. In this presentation, I'd like to talk about some of the thoughts that I've had about language features such as Generics, annotations, java.util.concurrent, JConsole, JMX connectors, scripting languages and a couple of other points. I'd like to encourage some initial discussion about these things in a place where we can get through the early questions first and then hopefully create some more discussion on the Jini-users mailing lists.

Beyond the Choir

Daniel Steinberg, O'Reilly Media

Daniel has provided a produced version of this presentation at Java.net - Highly recommended

Conference Video - (MOV) (iPod)

When the final session ends and the last beers have been finished, you'll leave the JCM re-energized wondering why everybody doesn't use Jini. Well, why don't they? In this session we'll discuss what we as a community need to do to encourage the adoption of our favorite technology by developers and interest in it by consumers. What is it we need to think of beyond the technology itself? What challenges lie ahead with changes to Jini.org? Do we need a killer consumer app? What is it we need to provide to developers and consumers to ensure a vibrant base for Jini?

Complexity Quanta and Platform Definition

Jim Waldo, Sun Microsystems Laboratories

Slides (PDF)

Video - (MOV) (iPod)

There are computing features whose introduction into a program lead to quantum jumps in the complexity of the programming task. This talk will begin by arguing that that there are four such features that are important in the construction of service-oriented architectures.

I will then argue that, at least historically, the platform that is used as a base for programming has to help in dealing with the complexities that these features introduce. It isn't just that platform support makes the job of the programmer easier, but that the interaction of program components requires that the platform provide a model for dealing with each of these complexities.

Finally, I will argue that while we have platforms that support the first two levels of complexity, the definition of the platform for the other two levels is currently being attempted, but badly. By not recognizing that there are two levels, we as an industry are currently trying to define a single approach that will solve the problems introduced by both complexity-inducing features, with predictable (bad) results. I'll try to show how, by separating the problems, we have a chance at building a platform that will deal with the third level of complexity, which in turn will give us a chance to understand how to deal with the final level.

Distributed Associative Networks

Kevin Hartig, Digital Reasoning Systems; Larry Mitchell, Cognitive Dynamics Inc.

Slides (PDF)

Video - (MOV) (iPod)

Associative networks are used in AI for solving problems ranging from character recognition to modeling the human brain. They are networks that map data input patterns to output patterns representing weighted correlations approaching a steady state or final recognizable solution. Mathematical calculations performed on these networks are both memory and compute intensive. This session is a discussion on how matrix multiplication can be profitably distributed and parallelized in a shared-memory environment using JavaSpaces and distributed services. The architecture and designs developed will be discussed along with a description of a simple implementation.

Downloading Email from a Jini Service

Sebastian Lohmeier, Monochromata

Slides (PDF)

Lightning Round Talk

Introduces a modified open-source email client that uses Jini Discovery to find Jini-enabled email servers without preconfiguration and receives emails push-style using RemoteEvents.

Dynamically Scaling Out Spring Based Applications - Bringing POJOs to the Grid

Dennis Reedy, GigaSpaces Technologies

Slides (PDF)

Video (not available)

Space Based Architecture (SBA) provides a middleware solution for turning tier based applications into SOA/Grid applications that can dynamically scale across multiple machines. The combination of Spring with SBA fulfills the promise behind "Write Once Scale Anywhere" i.e. Write your POJO once with Spring and Scale it anywhere by transparently plugging SBA to your POJO .

During this presentation we will unveil a collaborative work between GigaSpaces, Interface21 and one of the large investment banks in Wall Street that made this happen.

Experiences of a Production Deployment: Multi-tenant Software on Multi-tenant Hardware

Gary Kendall, CDO2; Dan Creswell, Lone Crusader

Slides (PDF)

Video - (MOV) (iPod)

CDOSheet is a Jini/JavaSpaces application developed by CDO2 for distributing financial risk calculations (Kendall, JCM8). Since August 2005 this solution has been available on Sun Microsystems’ multi-tenant grid solution, Sun Grid. Gary Kendall of CDO2 will give a review of CDOSheet and describe the problems and opportunities of deploying the solution on Sun Grid such as scaling a JavaSpace to hundreds of concurrent, transactional clients, providing resilient Jini services and managing network security.

Deploying multiple customers on a single Sun Grid instance brings its own set of challenges due to restrictions on level of customization of compute nodes and system administration policies. CDO2 looked to Lone Crusader to help solve these issues and Dan Creswell will describe some of the deployment utilities that were written specifically to address these issues.

Is there a life beyond the Starter Kit frontier?

Mark Brouwer, Cheiron.org

Lightning Round Talk

It will discuss the first public release of Seven, what it contains and in what direction it might be heading.

Jini Across the Firewall

Mark Brouwer, Cheiron.org

Slides (PDF)

Video - (MOV) (iPod)

While Jini is an accepted technology for local area networks, it fails to be recognized as viable for services that cross the corporate or departmental firewall. The only accepted form of communication is inbound HTTP(S) traffic, but the current HTTP(S) endpoints and discovery protocol, as well as the Jini Distributed Event Model, don't play nice with this requirement.

This talk will demonstrate solutions to these problems based on work part of the Cheiron project and incorporated in Seven. Moving some of this work into what one could see as the Jini Platform would allow Jini to cross firewalls and towards a viable solution for communication beyond the local area network.

Jini and Scripting Languages

Jools Enticknap, Nmenonix Software Consultants

With the advent of Java implementations of scripting languages such as JPython (python), JRuby(ruby) and Rhino (javascript), it is now possible to 'script' the use of Jini services, and to embed 'scriptable' behaviour into existing Java applications.

Jini in Formula One - the Field Experience Two Years Later

Fabrizio Giudici, Tidalwave; Cristian Colonello, Sun Microsystems

Slides (PDF)

Video (MOV) (iPod)

The Real Time Telemetry System (RTTS) is a Magneti Marelli Motorsport product designed to deliver the (near) real time data coming from the telemetry system of a Formula One racing car. RTTS, which has been a very successful project, as it was used - among others - by the team that won the 2005 Championship, is designed around a Jini™ + Rio core - both technologies proved to be very effective for dealing with the demanding context in which RTTS runs. Thanks to the customer satisfaction, RTTS has recently become a Sun Success Story.

The Jini Community already knows about RTTS as it was presented at the 8th Community Meeting held in December 2004. At that time, we were able to present a sketch of the architecture a and a brief summary of the main problems that we met, as we were still busy with the final testing and tuning. After two years we are going to give a status update of the project, some deeper technical information about the technical challenges we solved (including some smaller evolutions originated by the experience in production) and a quick view on the future of the project.

Project Rio

Dennis Reedy, GigaSpaces Technologies

Slides (PDF)

Video (not available)

This discussion will focus on the status of Project Rio on java.net, overview some of the new features and capabilities found in the release, and discuss release plans and GigaSpaces Technologies ongoing support for open source community based efforts.

Service oriented components on the grid using OSGi and Jini

Thor Heinrichs-Wolpert, Lunartek Inc

Video - (MOV) (iPod)

OSGi defines a service oriented, component-based environment within a JVM while Jini focuses on managed services in a networked environment. This talk will review combining these two specification based frameworks to establish managed components in a grid-style environment. It is timely that Jini was moved to the Apache Group as this talk will explore using Maven and Felix to establish and manage the development of grid components that are exported and consumed as Jini services. Both OSGi and Jini manage service / component life-cycles, but there are some obvious differences in provisioning, resource and security management that will reviewed with some approaches to reconciling them.

Service-orientation and Jini - Strengths and obstacles

Zoltan Juhasz, Pannon University, Veszprem, Hungary

Slides (PDF)

Video - (MOV) (iPod)

Jini is a service-oriented architecture from the start. It has important features and properties that mark this; the use of interfaces, strong typing, associative lookup, resource management, distributed events and transaction support. Yet, it is considered as a niche technology in the world of service-orientation as Web Services technology is in fashion and looked at by many as the only possible approach to creating service-oriented systems. Five years ago, we started to develop the JGrid system as an example of (and test bed for) a service-oriented scientific grid platform to demonstrate the benefits of Jini. This work is being continued with adopting/extending the system for business, industrial and consumer uses. In this talk, based on the experience, I would like to take a look at Jini as a service-oriented technology and explore both philosophical and practical issues that show Jini's strength and problems when decision must be made on its adoption. My intention is to leave the talk open for discussion and invite the community members to share their views and experiences.

Solving the Capabilities Mismatch Between Devices Using Jini

Berco Beute, TNO ICT

Video - (MOV) (iPod)

The number and diversity of devices used for creating and consuming multimedia content has risen rapidly over the last decade. Despite the ever increasing capabilities of the devices there is often a mismatch between the capabilities of the creating and the consuming device. Mobile phones have smaller screens than laptops, text may be encoded differently on Chinese and European devices, audio may be encoded with a different codec, etcetera.

In creating new applications where content was exchanged TNO ICT repeatedly ran into this problem and decided to build a platform that took care of the mismatch. The platform is called 'Farcast' (www.farcast.eu) and is built using Jini. The Farcast platform takes care of the content repurposing by dynamically combining services. A few example services are transcoding of images/audio/video/etc, user management, business logic, SIP push, persistent storage and billing. By using Jini the Farcast platform can dynamically combine the right services for the job at hand. In this talk I will explain the platform in more detail and discuss the added value of Jini.

Still Waving Goodbye to ClassNotFoundException

Sebastian Lohmeier, Monochromata

Slides (PDF)

Video (not available)

Introduced at the 8th JCM, the Codehost project provides an automatic classloading mechanism. It downloads classes from a server set up by the creator of a service instead of requiring everyone running an instance of the service to start his own web server to load the classes from. The Codehost project thereby reduces the work required to set up and update a Jini Service, which is especially important for beginners.

The Codehost project makes use of the domain names that are by convention used to create unique Java package names. After presenting the basic concept, new features of the upcoming release will be presented, including automatic codebase management, support for automatic updates, handling of policy files and other resources, and techniques for downloading classes from non-standard locations.

The Bodega Project on Java.net

Brian Murphy, Sun Microsystems

Slides (PDF)

Video (not available)

The Bodega project was created as part of the effort to move projects from jini.org to java.net when jini.org was repurposed. Quoting from the project page, "The Bodega project is a collection of presentations, articles, examples, and tutorials, all related to Jini and JavaSpaces technology, and intended to help developers understand how to work with those technologies." This session will present a brief overview of the Bodega project, highlighting some of the more important aspects, as well as presenting a demo of some of the examples the project provides.

The Jini Technology Security Model Revisited (Redux)

Brian Murphy, Sun Microsystems

Slides (PDF)

Video - (MOV) (iPod)

To understand the primary motivations behind the Jini technology security model, first recall that an important capability provided by Java(TM) technology is the ability to move code from a remote location into a local VM, and then execute the code. Recall also that when building distributed applications that exploit this capility, one is often faced with the task of ensuring that such foreign code can be trusted to do nothing malicious in the local environment. Although Java technology specifies a well-defined security model, that model is generally focused on static scenarios, and provides only limited mechanisms for addressing security-related requirements in more dynamic, distributed environments in which code movement occurs. Specifically, using a password, a security policy file, and secure sockets can often times be inflexible or even insufficient mechanisms for satisfying one's distributed security requirements. Because of this, Jini technology has specified extensions to the Java security model that are intended to address such requirements.

Although the specifications and mechanisms making up the Jini technology security model have been available for a while now, it appears that many in our community still do not address the issue of security in the applications that they build. The reason for this may be that some applications simply do not require security, or it may be a result of a lack of understanding and/or a fear of the unknown. This presentation is intended to address the needs of those who happen to fall into either of the latter categories.

This presentation will begin with a basic overview of the Java(TM) technology security mechanisms that are exploited and extended by the Jini technology security model, followed by a discussion of the security-related issues that remote communication and code movement can present to standard Java security when operating in distributed environments. It will then review the details of the Jini technology security model, while presenting some general usage advice, and discussing how the mechanisms and extensions specified by the model allow one to build distributed applications that can run securely, even in the face of remote calls and downloaded code.

Towards SCA - the Newton Approach

Richard Nicholson, David Savage, Paremus Ltd

Slides (PDF)

Video - (MOV) (iPod)

Service Component Architecture (SCA) is an emerging set of specifications which describe a model for building applications and systems using a Service-Oriented Architecture. SCA provides a generic component wiring framework that does not constrain the choice of language or protocol.

Newton is a Java component framework that deploys and binds networked services in a distributed environment. The services can be simple POJOs or wrappers around applications based on other models. Newton combines Jini and OSGi technology to achieve a seamless model for the discovery and communications of services in single JVM and multiple JVM systems. Newton is able to provision services distributed across a large number of JVMs, continually comparing the deployed service graph to a specified target state and making adjustments in response to failures and network topology changes.

This 50 minute session will introduce SCA and Newton concepts discussing the inter-relationship between the three core technology enablers SCA, Jini & OSGi. The presentation will conclude with a demonstration of the Newton framework.

Using Agile Testing Approaches to Strengthen Jini

Darrell DeBoer, Phil Blythe, Majitek

Video (not available)

This presentation will discuss the use of Agile development methodologies surrounding the development of the Majitek GridSystem. In particular, it will focus on the various methods of automated testing and quality techniques used, and how important these are for distributed Grid based architectures. Comparisons will be drawn to the testing frameworks surrounding Jini as an Open Source project, with suggestions on how the various commercial and community members might collaborate on future quality frameworks

Using Jini and JavaSpaces for Clustered 3D Rendering

Nigel Warren, Zink Digital and Brunel University; Simon Kent, Brunel University

Slides (PDF)

Video (MOV) (iPod)

While cluster based computing has previously been applied to the computationally intensive task of rendering, existing approaches tend to suffer from a number of limitations. They do not always work in heterogeneous processor and operating system environments, they are unable to flexibly allocate and deallocate additional processor resources, and tend to suffer from single points of failure. A prototype architecture is proposed which is based on Java, Jini and Javaspaces. Experiments on real rendering tasks have shown that the new architecture is able to address some of the issues of existing, inflexible rendering solutions which demonstrate that the prototype should be further developed to offer a robust solution to fault tolerant, scalable rendering.

Using Jini to Enable a Dynamic Desktop

Gregg Wonderly, Cyte Technologies

Slides (PDF)

The Jini Lookup Service provides a simple an powerful way to dynamically locate services. The Java Swing APIs and the related AWT facilities provide a fairly comprehensive set of simple abstractions for managing user interactions with the computing environment. This presentation will cover the convergence of Jini and the desktop to show how ServiceUI and other parts of Jini can provide a very power set of tools for enabling highly dynamic and powerful user desktop environments.

Update on the Semantic Service Oriented Architecture Program

Sam Chance, Scientific Research Corporation

Slides (PDF)

Video (MOV) (iPod)

Update on a Semantically Powered Jini Architecture to Enable Inter-Agency Capabilities Sharing*

This discussion presents a brief update to activities related to the Semantic Service Oriented Architecture (SSOA) program, built upon a proven Jini™ foundation. It also provides a demonstration of the functions implemented to date.

SSOA facilitates efficient operations by enabling the run-time assembly of business processes and correlation of events between distributed, heterogeneous services. These capabilities, lead to sophisticated alerting and response mechanisms across those services.

This highly-scalable, distributed architecture is powered by Commercial Off-the-Shelf products and Open Source components which combine Jini-based service representation and discovery, semantically derived service descriptions, and complex event detection and response to intelligently discover relevant information sources and to automatically trigger queries and actions between those services. Employing this architecture, business analysts will simply assert a query or objective and a multi-source event monitoring and correlation process will be automatically created and executed invoking dynamically discovered services.

Virtual File System

Kevin Hartig, Digital Reasoning Systems; Larry Mitchell, Cognitive Dynamics Inc.

Slides (PDF)

Video (MOV) (iPod)

While Jini is a great way to describe the ad hoc, spontaneous collaboration of services in a distributed service architecture, data and content management has been the poorer cousin. We have been working on the Magellan project which is an attempt to create a universal hierarchical distributed file and content description system. The goal of this project to is to unify the various types of content systems such as local file, samba file and other special file systems. As well, web based and remote systems using http/s and s/ftp are handled. Also, non file hierarchical information repositories such as LDAP directories are handled. It is relatively easy to add new content types. Diverse and far flung file/content systems can be represented as a coherent and seamless file system. The subject of our talk will be to describe how this was achieved and demonstrate it.

What are those Sun Jini guys doing?

Mark Hodapp, Sun Microsystems

Slides (PDF)

Lightning Round Talk

Mark will share some insights to where the team is heading and why.

Why Jini must adapt to Survive

Richard Nicholson, Paremus

Slides (PDF)

Lightning Round Talk

OSGi has been successful in the embedded market place and is gaining increasing support as an server side technology, SCA is an emerging set of standards to describe SOA systems. This short session will give an overview of each of these technologies. In addition, we review the role of Jini with respect to these new industry initiatives, both from the point of view of its strengths, its weakness, and how it can play an important role in next generation distributed systems.

Personal tools