FAQ   /   News   /   Contact   /   Join JUG Switzerland



members had joined JUG Switzerland at the end of 2015




Agent Communication & Semantic Web

SPEAKER: Daniel Albisser, Adrian Jetzer
SLIDES: 011217_SemanticWeb.pdf

Das Ziel des Projektes war die Entwicklung eines Prototypen Agenten Systems, basierend auf den neusten Technologien des Semantic Webs (RDF(S), DAML+OIL, RDQL). Ein Agent basiert auf einer klassischen Architektur. Die Kommunikation wurde mit XML basiertem KQML realisiert.

Das entwickelte Agenten System, bietet ein funktionierendes Umfeld für Agenten. Die Agenten haben in diesem System die Möglichkeit Daten gegenseitig abzufragen, auszutauschen und Transaktionen auszuführen. Um dies zu ermöglichen wurden die persistenten Daten anhand DAML+OIL Ontologien abgespeichert.

Die wichtigste Komponente des Systems ist ein Ontologie Server, welcher alle Ontologien des Systems verwaltet, und die Agent Search Engine mit der andere Agenten gesucht werden können. Alle Komponenten im System basieren auf der selben Software Architektur und fungieren als Agent.

Das ganze System wurde mit Java und diversen Hilfstechnologien wie JDOM und dem Jena Toolkit von HP (DAML API) realisiert.


Jinsight - Visualizing the execution of Java programs

SPEAKER: Wim De Pauw, IBM TJ Watson Research Center
LINK: Homepage of the Jinsight project

Jinsight is a visualization project at IBM TJ Watson. We built the tool to display a Java program's behavior at execution. It displays object population, messages, garbage collection, bottlenecks for CPU time and memory, thread interactions, deadlocks, and memory leaks. Jinsight can also take repetitive execution behavior and boil it down to its essentials, eliminating redundancy and uncovering the highlights of an execution. By displaying program behavior and hot spots from several perspectives, Jinsight strengthens your ability to understand, debug, and fine-tune your program.

Jinsight advances the analysis of dynamic, object-oriented (OO) programs in a number of ways:

  • It is fully object-oriented. Most performance-tuning tools for OO languages do little more than profile methods as they do procedures in non-OO languages. Some go as far as showing the total number of objects per class. But the OO programming model is fundamentally different from the procedural model, and much of the power of OO is lost on conventional tools. Jinsight's views of program execution use metaphors that are both natural and consistent with the OO model. These views let you visualize both objects and messages explicitly. The Histogram view lets you see calling and reference relationships among objects. The Execution, Invocation Browser, and Execution Pattern views show sequences of messages among objects as a function of time. The Reference Pattern view displays patterns of references among objects. These views work together seamlessly to reveal the inner workings of your program.
  • Jinsight has powerful pattern extraction capabilities that let you deal with large, real-world traces. It presents recurring patterns of run-time behavior in a single, compact view. Pattern extraction takes what is often an overwhelming and highly redundant mass of execution information and reduces it to its fundamental interactions. It lets you peruse vast areas of the execution space without sifting through it message by message, object by object. Pattern extraction greatly simplifies run-time analysis.
  • Jinsight has a unique memory leak finder. Where other tools claim to find memory leaks by "displaying an abnormal volume of instances," Jinsight can reveal the causes of the memory leaks with far greater precision. Its Reference Pattern view shows which objects are holding references that are hampering garbage collection, thereby drawing attention to the code responsible for those references.
  • We have an efficient way to visualize program on-line, by using task-oriented tracing. This live visualization allows the user to carve out pieces of the execution that are related to a given task.


An Open Source Platform and Java IDE

SPEAKER: Erich Gamma, Object Technology International

Eclipse is a new open source platform designed for building integrated development environments. However, Eclipse is not only a platform providing a rich set of APIs for extension, it includes a full blown Java development environment offering features like incremental building or refactoring support. This talk starts with a technical overview of the Eclipse architecture, its generic functionality and its key plug-in mechanism. Next it is demonstrated how the domain independent base platform was leveraged to build the Java development environment. For more information on eclipse check out the official homepage at www.eclipse.org, to learn more about the relationship between WebSphere 4.0 and eclipse see http://www.developer.ibm.com/welcome/wstools/wswb_eclipse.html.


The Lana Approach to Programming Global Computing Systems

SPEAKER: Ciarán Bryce, University of Geneva
SLIDES: 011102_Lana.pdf

The goal of the Lana project at the University of Geneva is to design and implement programming abstractions for Global Computing Systems. These are distributed systems where nodes are mobile, autonomous and perhaps poor in computing power. Part of our work centres on the design and implementation of the Java-based Lana kernel. The design of Lana has highlighted several weaknesses in Java with respect to its suitability for global computing systems. This talk examines these weaknesses, and presents the solutions adopted in Lana.


Schweizer Informatiktag:
Communability: A New Peer-To-Peer Paradigm?

SPEAKER: M. Müller, Giniality AG, Basel


Rapid Web-Application Development @ ALSTOM Power

JOINT EVENT: with /ch/open
SPEAKER: Jürgen Happel, Zühlke Engineering AG
SLIDES: 011018_ALSTOM_Power.pdf

Zielkonflikten und Risiken begegnen wir in jedem Softwareprojekt. Zeit, Kosten, Ressourcen, das technische und politische Umfeld stellen uns immer wieder vor knifflige Aufgaben und Entscheidungen. Der Vortrag beschreibt, welche Entscheidungen und technischen Lösungen auf die Anforderungen und das Umfeld bei ALSTOM Power gewählt worden sind. Eine Entscheidung war u.a. "to EJB or not to EJB". Schliesslich ist aus einem ersten Projekt ein Web Applikations Framework entstanden, das inzwischen in 5 Projekten eingesetzt wird. Wo vorhanden hat man sich an Standards (z.B. JavaTM Authentication and Authorization Service) gehalten und Open Source Lösungen (z.B. JDOM, Xalan, JUnit) integriert. Der KISS (keep it small and simple) Ansatz unter der Haube einer flexiblen Model-View-Controller Architektur hat massgeblich den Erfolg bestimmt.


VMware virtual machines for developers

JOINT EVENT: with /ch/open

Although VMware received the award of the best software in year 2000 from PC-Magazine, many developers are unaware of the existence of this tool that allows you to run multiple operating systems (windowsNT, windows2000 and Linux) on one physical machine. But those who got the chance to see it once love it and use it every day. In particular for more and more Java developers VMware belongs to the category of basic software like the Java 2 platform and the operating system itself because development, testing and deployment is much easier than before.

The event presented an introduction of VMware, experience reports in real-world environments, useful additional tools and future perspectives.

The future of virtual machines: a VMware perspective

SPEAKER: Edouard Bugnion, VMware
SLIDES: 010927_VMware.pdf

Like many concept in computer science, the term "virtual machine" is overloaded. It has been associated with systems as diverse as the mainframe IBM VM/370 system, the Java programming language and system, the execution of legacy environments such as the Windows DOS box, and more recently the VMware products for Intel processors.

We will first present the fundamental characteristics of virtual machines and will compare the various systems accordingly. We will then show how VMware's products can apply virtual machine technology to solve an array of system problems on workstations, servers, clusters and the Internet.

Experience reports on developing with VMware and Java

SPEAKER: John Brush, Ideartis
SLIDES: 010927_VMwareExperienceReport.pdf

Since its inception, Java's goal has been to meet the challenges of cross-platform, distributed software development. VMware is a tool that allows you to run multiple operating systems on one machine simultaneously. For Java developers, this means that you can finally start to use Java in the way that it was intended. Some of the benefits are vastly improved cross-platform testing, testing distributed applications using VMware's virtual networks, getting new team members up to speed faster by simply copying virtual machines, trying out new tools without breaking a working configuration and faster deployment in the enterprise or delivery to a customer site.

In this presentation, we would like to share some of the insights and experiences that we have made over the past two years, and hopefully convey why we have come to see VMware as a true killer app -one that you can no longer imagine doing without.

Virtual Machine management with VMmanager and VMlibs

SPEAKER: John Brush, Ideartis

Having several virtual machines on your harddrive can be both a blessing and a curse. Remembering network settings, which software you installed where, which virtual machines are intended for what purpose, how they are supposed to work together and many other issues can quickly become a daunting task. VMmanager is a visual tool that allows you to keep up with complex network configurations, hierarchies of virtual machines and the distribution of vms in multiple physical locations. VMmanager focuses on the requirements and needs of the technical professional and of the software developer in particular.

VMmanager also introduces the concept of VMlibs taking standard prebuilt virtual machines from a library, linking them together in a virtual network and deploying them, all from a visual tool with drag and drop functionality. Some examples are databases, application servers, routers and firewalls, proxy servers, ftp servers and web servers. VMmanager and VMlibs take the power of VMware a step further by recognizing the need to view virtual machines as pluggable components.


Testing Weblications

SPEAKER: Dierk König, www.canoo.com
SPEAKER: Hans Wegener, Credit Suisse Financial Services Zürich
SLIDES: 010912_weblications_html.zip

Web Applications (weblications for short) play a major role in today's software development. They are widely used in corporate IT projects and of high visibility to internal and external users.
Faulty or unstable weblications can result in user inconvenience, loss of productivity and can even put whole organizations out of business.

This WIPS collects some techniques on how to enhance the quality of weblications by testing. The focus is not on testing in general but on testing under the typical constraints of weblications. It goes into coding details and explains technology constraints.

If you are a developer or technical manager building a weblication these days and you are concerned about its quality, this WIPS is for you.


CHOOSE Forum: Objects on the Web


XMLizing your database

SPEAKER: Georges Gardarin, e-XMLMedia, Bourg-la-Reine, F

XML is the new standard of the 21st century for exchanging data and document. An important issue is then the management of XML messages in a database system. Several approaches are proposed:

  • layer above a relational or object DBMS to handle XML mappings;
  • native storage and query processing techniques;
  • extension of existing information retrieval systems.

The talk will focus on the key database techniques under development with XML, and then give a description of some products in the domain, including e-XMLmedia components.

Web Services: Beyond the Hype

SPEAKER: Steve Vinoski, IONA Technologies in Boston, MA, USA

Web Services represents the evolution of Electronic Data Interchange (EDI), traditional middleware such as CORBA, COM, and J2EE, and the Web itself. Because the convergence of these three important areas of technology into Web Services has broad industry support and interest, Web Services has the chance to avoid the market and standards fragmentation that have plagued its middleware ancestors. If this support continues and industry-wide Web Services standards come to be, Web Services will become a truly ubiquitous distributed systems platform.

Unfortunately, with such broad industry support comes unreasonable expectations and hype. Not surprisingly, Web Services currently gets a lot of attention as the next "Silver Bullet" that will magically solve all of our distributed computing problems. Such expectations could very well hurt, not help, progress on the Web Services front. In this talk, I discuss what practical Web Services are, how they're evolving, and what problems they can solve. I also discuss the hype surrounding Web Services and present some actual examples where unreasonable expectations are being created.

Clarifying Web Applications with J2EE Design Patterns

SPEAKER: Jake Stewart, Zühlke Engineering AG, Schlieren-Zürich

The J2EE suite of technologies (EJB, JSP, JMS, etc) gives developers powerful application-building tools, yet there is a significant gap between these tools and the finished architecture of a web application. Developers take on the responsibility of choosing how to best use these tools to build their applications. As more enterprises build web applications using J2EE technology, a growing number of commendable patterns of use stand out from the collective experience. In this talk, we will discuss some of the most beneficial J2EE design patterns in use. These patterns address issues such as business processes, remote messaging, distributed collaboration, and performance. We will look at motivations behind the patterns, their design and implementation, recommendations for their use, and tradeoffs.

WebObjects Technical Overview

SPEAKER: Marc-Antoine Scheurer, Sen:te, Lausanne

This session provides a technical overview of WebObjects for developers, highlighting the key aspects of its architecture, technical advantages, and relevance to web application development. Topics include a discussion and demonstration of WebObjects tools, design and flow of a typical WebObjects application. Tools covered include Direct to Web, Direct to Java Client, WebObjects Builder, EOModeler.


The Power of Metadata

SPEAKER: Philipp Achermann, Löwenfels Partner AG
SPEAKER: Markus Wüest, Löwenfels Partner AG
SLIDES: 010823_ThePowerOfMetadata1.pdf

Objektorienterte Software-Entwicklung basiert in der heutigen Zeit meist auf UML, nach einem iterativen Vorgehen (z.B. RUP). Um durch dieses Vorgehen eine effiziente Umsetzung zu ermöglichen, können und sollen die aus dem Objekt-Modell entstandenen Informationen weiterverarbeitet und sowohl für die Implementation wie auch zur Laufzeit wiederverwendet werden. Mit der richtigen Funktionalität des entsprechenden Frameworks kann ein in hohem Masse generalisiertes Verhalten der Software erzeugt werden.

Der Vortrag zeigt, wie ein auf Open-Source basiertes Publishing-Framework die aus SELECT exportierten Metadaten für die Code-Generierung wie auch für die Laufzeit wiederverwendet. Während der Umsetzung (Implementation) werden diese Metadaten durch weitere Informationen ergänzt, wodurch das GUI vollends generisch aufbereitet und angezeigt wird.

Folgende Tools kommen dabei zum Einsatz:

  • SELECT Enterprise V6.x
  • ExperTeam (XMI-Export aus SELECT)
  • VisualAge for Java V3.5
  • Oracle 8i
  • TOPLink for Java V3.5
  • Apache WebServer
  • Apache JServ
  • Apache Cocoon (XML/XSLT)
  • HTML Client


GLOBE - A fault-tolerant and scalable distributed tuplespace for heterogeneous, loosely coupled networks.

SPEAKER: Jesper Spring, SoftWired Inc., Zürich
SLIDES: 010705_GLOBE-presentation.pdf

The thesis studies replication issues in a general purpose distributed Linda tuplespace with the purpose to achieve fault-tolerance in terms of availability and scalability in terms of performance compared to centralized tuplespace implementations.

The thesis proposes GLOBE a distributed tuplespace enabling fault-tolerance and scalability in a heterogeneous, loosely coupled network. Fault-tolerance is achieved using replication amongst a number of tuplespace replicas. Scalability is achieved using partial replication by partitioning of the distributed tuplespace into a number of disjoint tuplespace partitions. GLOBE enables both fault-tolerance and scalability to be dynamically adjusted while running. The former is achieved by dynamically increasing or reducing the number of tuplespace replicas while the latter is achieved by dynamically increasing or reducing the number of tuplespace partitions.

A hybrid replica update protocol is proposed for tuplespace operation replication. The protocol combines an active and an anti-entropy operation propagation strategy. The former allows for fast operation propagation to replicas, while the latter synchronizes the replicas in case of failures. A majority voting scheme is used to ensure consistency between replicas when performing operations requiring atomicity in the distributed tuplespace.

A prototype of GLOBE has been implemented (using JavaSpaces and Jini) and evaluated. The evaluation shows that increased fault-tolerance is costly in terms of operation execution time. However, the evaluation also shows that increased scalability leads to reduced operation execution time when compared to a highly loaded centralized tuplespace. Thus, under high workload conditions the distributed tuplespace having both increased fault-tolerance and increased scalability executes operations faster than a centralized tuplespace.

The conclusion is that the techniques exploited are capable of providing the tuplespace paradigm with dynamic fault-tolerance in terms of availability and dynamic scalability in terms of performance, and that the distributed tuplespace in spite of the classical trade-off between fault-tolerance, scalability and performance outperforms the centralized tuplespace under high workload conditions.


XP Team Support in einer Java Entwicklungsumgebung

SPEAKER: Kai-Uwe Maetzel, Object Technology International

Die Entwicklungsstrategie für Extreme Programming (XP) ist code-zentriert. Sie benötigt eine effektive Unterstützung zur Koordination der Teamarbeit auf einer gemeinsamen Codebasis. Traditionelle Versions- und Konfigurationsmanagementsysteme leisten nur eine unzulängliche Unterstützung, da sie die speziellen Anforderungen des XP Entwicklungsprozesses nur ungenügend erfüllen. Beispiele für derartige Anforderungen sind die Gewährleistung kollektiver Verantwortung für den Code und die fortlaufende Integration von Codeänderungen. Ausgehend von diesen Überlegungen entwickelten wir Teamstreams, ein Paradigma zur Softwareentwicklung im Team, das einfach zu erlernen ist. Es trägt der Dynamik der Teamentwicklung Rechnung und ermöglicht aufgrund des geringen Aufwandes eine hohe Frequenz bei der Teamintegration. Teamstreams wurden zuerst in der IBM Visual Age MicroEdition (VAME) realisiert. Die Entstehungsgeschichte von VAME - eine Java IDE, vollständig in Java implementiert - zeigt die Stärken von Teamstreams und ihre besondere Eignung für XP. Im Vortrag werden die Anforderungen des XP Entwicklungsprozesses dargestellt und aus Anwenderperspektive aufgezeigt, wie Teamstreams diesen Anforderungen gerecht werden. Es wird die praktische Arbeit mit Teamstreams demonstriert und unsere zweijährigen Erfahrungen bei der Anwendung von Teamstreams dargestellt. Schwerpunkt bilden dabei die Erfahrungen, die wir sowohl bei der Entwicklung von VAME mit VAME als auch bei der Entwicklung von Folgeprodukten sammelten.


C# und Java
A language and platform comparison

The chief architect of C#, Anders Hejlsberg, presents the new language and its platform .NET in a debate with Bruce Haddon, Senior Java Architect at Sun Microsystems, speaking for Java and its J2EE platform.

This event was intended to give you insights of C# and a comparison to Java. After a short presentation of each languages and platforms, the two speakers were invited in a discussion to argue on concepts, differences, advantages and visions covering the hottest topics in the enterprise today including Web Services. This unique 90 minutes confrontation between the two software architects were moderated by an independent professional and enriched by questions from the audience.

C# and .NET: language and framework

SPEAKER: Marc-Antoine Scheurer, Sen:te, Lausanne
SLIDES: 010528_A_Hejlsberg.pdf

In June 2000 Microsoft announced the new language C# and the .NET strategy. C# is a modern, object-oriented language that enables programmers to quickly and easily build solutions for the .NET platform. The .NET framework allows C# components to become Web Services that are available across the Internet, from any application running on any platform.

Anders Hejlsberg, the chief architect of C# and a key designer of the .NET Framework, made an introduction of the basic features and concepts of the programming language C# as well as the Common Language Runtime, the Class Library, the framework and the architecture of .NET. The audience should understand a little more about the scope of this effort, rationales behind the design decisions and how it will both radically change, and greatly simplify, the integration of applications on the Internet and beyond.

Java: language and platform

SPEAKER: Dr. Bruce K. Haddon, Sun Microsystems .COM
SLIDES: 010528_JavaJ2EESunONE.pdf

Java's initial claim-to-fame is that it delivered on the promise to provide a true Internet loadable programming environment. The history of Java itself in extension of that programming environment from the "Java applet" to enterprise computing, in one direction, and to imbedded computing in the other. This was driven as much by demand from intending users as much as directed evolution on behalf of Sun Microsystems. This interaction was formalized in the "Java Community Process." to ensure consistency and quality in new Java extensions. The collection of technologies that has become formalized as the "J2EE Specification" now forms the focus of the Java enterprise computing space.

In this presentation, a short history of Java was reviewed, leading to the current state of the J2EE application development. In doing so, some features of the language, the virtual machine in which the programs run, and the extent of the cross-platform support, were examined.

The technologies that go to make up the J2EE world were briefly described, and the relationship to each other and other features supported by the Java language. This tour included Java Beans, EJB, Servlets, JSP, and well as some mention of Swing, the security model, and current architectural principles.

Some guesses at future directions were proposed, dealing a little with Sun ONE, the role of XML, and joint industry initiatives.

C# vs. Java debate

The debate was divided into 8 industry relevant topics introduced by the moderator. During the discussion of the topics by the 2 keynote speakers the audience was encouraged to participate with questions and remarks. The following topics were covered.

1. The language proper: C# and Java
C# and Java have a lot of similarities but they have differences too. As Java developers we wanted to know the differences we will face by programming in C#. We wanted to know which C# features are really better and why. Both speakers developed the rationales behind their language design decisions.

2. The virtual machines: CLR and JVM
Both C# and Java are compiled into an intermediate code and have the concept of virtual machine that runs this intermediate code. On the one side there is the JVM and on the other the CLR (Common Language Runtime). The CLR is probably the most important piece of .NET. The speakers discussed pros and contras of their intermediate languages and virtual machines as well as the impact on the IT industry. Issues like security, performance and portability were tackled.

3. Components
We are moving towards a software component industry. But the support for building and using components may be understood quite differently. We wanted to hear how C# and Java see this fundamental concept, how they provide the means to realize a component world. The important issue on native code integration was also tackled.

4. Application Servers
In a world where components are distributed over network there is the concept of application servers. J2EE with its different container types is one approach. EJB Containers has been specified to hold the business logic. What is the .NET approach concerning distributed components?

5. Web Services
XML is the standard for self-describing data. It is the corner-stone of .NET and a complementary technology to Java. Both Sun and Microsoft have spoken about Web Services. Both sides presented their vision on Web Services and how they want to realize it. SOAP and ebXML were handled.

6. Web front-end and rich clients
The internet is certainly the technology that has influence the IT industry the most these years. Java provides a set of technologies like Servlet and JSP. The actual web technologies from Microsoft are comparable but .NET introduces new ones like ASP+ and WebForm. What is new, what is better? There are sometimes good reasons to be have rich clients. How is Swing compared to WinForms or other libraries?

7. Tools
The role of the development environment is certainly important for both Java and C# but while Microsoft promotes a tight integration between language and tool with Visual Studio, Sun makes a separation between the language and the tools which may be purchase from third party vendors. What are the advantages of both approach for the developers? For the IT industry? For the companies themselves?

8. The development processs
Both C# and Java evolve with time.
How to control the evolution is critical for any technologies. It has also to do with culture and philosophie. Sun has defined the Java Community Process. Microsoft is getting more and more open to standard organization. How far does both openness go, which parts of the technologies are public specifications and which ones are owned by the respective companies?

06.04.2001, Basel

Enterprise Architectures

Die Entwicklung von Enterprise Architectures stellt Unternehmen vor sehr grosse Herausforderungen, da sich speziell diese Architekturen durch Quality of Service-Attribute, wie Skalierbarkeit, Verfügbarkeit, Verteilbarkeit und Sicherheit, auszeichnen müssen. Die Java 2 Enterprise Edition (J2EE) verspricht Unternehmen hier Unterstützung, indem sie die Konzeption von Enterprise Architectures unter komponentenorientierten Gesichtspunkten ermöglicht. In diesem Zusammenhang sind insbesondere Enterprise JavaBeans zu nennen. Wie können nun Enterprise Architectures auf der Grundlage von J2EE entwickelt werden und welche Konzepte liegen Enterprise JavaBeans zugrunde?

Der JUGS-Event "Enterprise Architectures" beleuchtete den Themenkomplex detailliert. Experten aus diesem Bereich referierten über ihre Erfahrungen beim Einsatz der Java 2 Enterprise Edition und über aktuelle Entwicklungen. Zum einen wurden die architektonischen Konzepte von Enterprise JavaBeans vorgestellt und zum anderen konkrete Implementierungen behandelt. Neben einem auf Enterprise JavaBeans basierenden Framework zur Entwicklung von Business Components wurden ferner die Herausforderungen bei der Entwicklung von Application Servern und bei deren Einsatz im mission-critical Umfeld näher betrachtet.

Diese Veranstaltung richtete sich an Software-Architekten- und Entwickler, die sich mit der Entwicklung von Enterprise Architectures unter Verwendung der Java 2 Enterprise Edition beschäftigen und die Gelegenheit nutzen wollten, sich einen Überblick über komponentenorientierte Software-Entwicklung mit der J2EE zu verschaffen und von den Erfahrungen fundierter Spezialisten zu profitieren.

Komponenten-Patterns - Ein Lustspiel in 2 Akten

SPEAKER: Markus Völter und Oliver Stuch, MATHEMA AG
SLIDES: 010406_voelter_stuch.pdf

Enterprise Java Beans, COM+ und CORBA Components - diese verschiedenen Komponentenarchitekturen beruhen alle auf den selben grundlegenden Mustern. Um mit diesen Technologien richtig einsetzen zu können - oder um möglicherweise eigene, anwendungsspezifische Komponentenarchitekturen zu entwickeln - ist die Kenntnis dieser Muster sehr hilfreich. Dieser "Vortrag" soll einige dieser Muster in Form eines Dialogs zwischen Consultant und Entwickler erläutern.

JWelder ein EJB Framework

SPEAKER: Thomas Neumann, Systor AG
SLIDES: 010406_neumann.pdf

JWelder ist ein Framework zur Entwicklung von Serverseitiger Anwendungslogik auf der Basis von Enterprise Java Beans. Der Vortrag stellt zum einen die zugrunde liegende Software Architektur des Frameworks dar. Ausserdem geht er auf die Erfahrungen ein, die wir während der Entwicklung des Frameworks gesammelt haben.

Erfahrungen mit einer multi-tier Java Applikation im Finanzbereich

SPEAKER: Roger Süess, Credit Suisse
SLIDES: 010406_sueess.pdf

Anhand eines internen Projekts der Credit-Suisse, werden Probleme und mögliche Lösungsansätze beim Entwickeln einer hoch skalierbaren Java Server Applikation im Finanzbereich aufgezeigt. Bei der beschriebenen Applikation handelt es sich um eine Portal-ähnliche Lösung. Sie soll jedem Relationship-Manager im Private Banking als Kundenbeziehungs-Plattform zur Verfügung stehen. Die Implementierung sieht eine multi-Tier Architektur mit Java Server vor. Die Kundendaten werden aus Sicherheitsgründen auf dem Host gehalten. In einem Unternehmen wie der Credit-Suisse entstehen dabei unweigerlich Probleme, wenn neuere Technologien (Servlets, EJBs) in ein bestehendes Umfeld integriert werden. Typische Knackpunkte sind z.B. Sicherheitsintegration (PKI), CORBA-Anbindung und Skalierbarkeit/Systemsmanagement.

JMS & Message Driven Beans

SPEAKER: Bill Field, BEA Systems Inc.
SLIDES: 010406_JMS_MDB_Intro.pdf

Primarily because of the historical precedent set by Remote Procedure Call-based systems (RPC) of the late 1980's and early 1990's, distributed computing frameworks have typically used synchronous communication protocols. Indeed, this precedent has continued on to the present in Java's Remote Method Invocation / Remote Method Protocol (JRMI/JRMP), which is simply RPC in an O-O guise. Enterprise applications however, often require the flexibility of asynchronous messaging, either to reduce bottlenecks caused by synchronous (blocking) I/O, or to reduce coupling between disparate sub-systems. This need has driven the adoption of the Java Messaging Service (JMS) as part of the standard Java 2 for the Enterprise Edition platform (J2EE) specification. J2EE (and more importantly J2EE's standard component model: Enterprise Java Beans or EJB), however, currently stops short of providing a standard abstraction that integrates JMS with EJB. The developer is forced to needlessly overcome several technical hurdles before an EJB can successfully participate in a transaction asynchronously. To address this issue the Sun Open Community Process has released EJB 2.0 Final Proposed Draft for public review. It contains a proposed solution to JMS's integration problems: the Message-Driven EJB. The purpose of this presentation is to quickly review the asynchronous messaging facilities of JMS as its currently defined in J2EE, and then consider the merits of this new, higher-order abstraction: the Message Driven Bean.


Traumhochzeit Java und PDA's

SPEAKER: Dr. Gernot Starke, Executive Consultant - IT Strategie, Systor GmbH & Co KG
SLIDES: 010327_Traumhochzeit.pdf

Der Vortrag stellt mehrere Java-VM's und passende Entwicklungsumgebungen vor, die Anwendungsentwicklung für PDA's unterstützen. Hierzu zählt neben der von Sun entwickelten KVM auch die IBM J9 VM, für die eigens eine VisualAge-Micro Edition geschaffen wurde. Neben diesen Big Playern kommen zwei weitere interessante Werkzeuge zur Sprache Die Wabasoft-VM, die als OpenSource bereits seit längerer Zeit verfügbar ist, sowie die recht neue JBed-VM, für die es neben einer Entwicklungsumgebung sogar einen Native-Compiler gibt.


Die Realisierung einer "Pure Java" Entwicklungsumgebung

SPEAKER: Dr. Erich Gamma, Object Technology International Zürich
SLIDES: 010312_purejava.pdf

Integrierte Entwicklungsumgebungen gehören zu den komplexeren Desktop-Anwendungen und stellen hohe Anforderungen an die verwendete Infrastruktur (Performance, Robustheit). Die Realisierung einer solchen Anwendung in Java ist deshalb ein interessanter Testfall für die Java Plattform. Im Rahmen dieses Vortrags wird gezeigt, welche technischen Probleme bei der Realisierung der VisualAge MicroEdition Entwicklungsumgebung auftraten und wie sie gelöst wurden. Dabei wird insbesondere das Design des zentralen Frameworks im Detail betrachtet.


The State of Logging and Tracing in JavaTMTechnology

SPEAKER: Christopher Bladon, Sun Java Center Zurich

This presentation discusses the state of logging and tracing today on the JavaTM platform, available logging products, Sun's current effort to standardize a logging API, and how programmers using the Java programming language can write efficient logging code, now, to produce better software and remain flexible for the forthcoming standard API.

Logging and tracing is not the most exciting topic but it is something that every programmer does. Nearly every Java programming language-based application written today uses some form of logging. Additionally, because there is no standard API, most logging is done using proprietary, home-grown libraries, or, even worse, the dreaded println statements. The JDKTM software alone uses more than three different internal logging formats and APIs! To the rescue Java programming language Specification Request (JSR) #47 (JSR000047) is one of newest specifications being developed under the Java Community ProcessSM program. JSR000047 seeks to unify the many logging APIs under a single API. However, this specification is in its infancy and will not be released for some time.

Today, programmers must continue to use homegrown logging solutions. Traditionally, programmers think of logging code as temporary. This means injecting println statements into the code during development and then commenting them out or removing them from the code before test and production. However, some of the best benefits of logging come after development--testing, performance analysis and maintenance.

Technical issues include

  • The preliminary JSR47 Logging and Tracing API
  • Current logging library products
  • Logging do's and don'ts
  • How to make log code live throughout the software life cycle
  • Using logging as a maintenance/support tool
  • Generating and parsing an exception stack frame to get current position
  • Identifying specific clients in a multi-threaded, EJBTM technology-based server
  • Efficient, runtime-configurable filtering of events--development vs. productive runs
  • Integration with/migration from legacy System.out/err.println, unhandled exceptions, etc.
  • Runtime-configurable output formatting and device selection
  • Using string log categories instead of integer log levels


Analyses and Compression of Java Applications

SPEAKER: Denis N. Antonioli, University of Zurich
SLIDES: 010201_analyses.pdf

A Java application is built of a large number of Java class files, which are collected and compressed in Java archive (jar) files. The jar files typically shrink original class files by fifty percent only.
This talk describes the storage of Java classes and proposes alternate formats that reduce the size necessary. It presents in particular two opposed approches, a pragmatical process and an aggressive optimizer, and discusses how to choose between these approaches.


An Introduction to JavaCard

SPEAKER: Marcus Östreicher, IBM Zurich Research Laboratory

The smart card is definitely the most restricted platform a Java based environment has been specified for so far. Current smart cards feature only limited processing capabilities in form of 8bit processors and restricted memory capacities, rarely beyond 64KByte in total. In contrast, current standard Java environments expect powerful and generously equipped desktop or server machines and even Java environments optimized for embedded computers need at least memory capacities in the range of hundreds of Kilobytes to be fully operational. Clearly, a Java based environment for smart cards must sacrifice a number of standard Java features to be implementable on the given hardware platform. The necessary changes include the restriction of the supported language features, the definition of proper APIs tailored towards smart cards and the adoption of the executable content for the execution on low end processors. The possible changes have been discussed during the JavaCard specification process in the last three years and finally resulted in the current JavaCard 2.1 specification. The talk gives an overview over smart cards and especially the JavaCard. After a short description of the typical smartcard characteristics, it presents the basic architecture of the JavaCard and discusses various topics, starting from the development process to the structure of the runtime environment on the smartcard. It points out the differences to standard Java regarding language and APIs and also presents the unique features of a JavaCard like the support for transactions. It finally reports about the practical experiences which have been gathered within the Secure Systems Group during a number of different JavaCard implementations within the last three years.



Platin Sponsor

Gold Sponsor

Silver Sponsor




JUG Switzerland aims at promoting the application of Java technology in Switzerland.

JUG Switzerland facilitates the sharing of experience and information among its members. This is accomplished through workshops, seminars and conferences. JUG Switzerland supports and encourages the cooperation between commercial organizations and research institutions.

JUG Switzerland is funded through membership fees and industry sponsors.




Java User Group Switzerland
8000 Zürich

© Java User Group Switzerland