ABSTRACT. Keywords Virtual Reality, Java, JavaBeans, C++, CORBA 1. INTRODUCTION
|
|
|
- Austen Wright
- 10 years ago
- Views:
Transcription
1 Tweek: Merging 2D and 3D Interaction in Immersive Environments Patrick L Hartling, Allen D Bierbaum, Carolina Cruz-Neira Virtual Reality Applications Center, 2274 Howe Hall Room 1620, Iowa State University Ames, Iowa , United States ABSTRACT Developers of virtual environments (VEs) face an oftendifficult problem: users must have some way to interact with the virtual world. The application designers must determine how to map available inputs (button presses, hand gestures, etc.) to actions within the VE. As a result, interaction within a VE is perhaps the most limiting factor for the development of complex virtual reality (VR) applications. For example, interactions with large amounts of data, alphanumeric information, or abstract operations may not map well to current VR interaction methods, which are primarily spatial. Instead, twodimensional (2D) interaction could be more effective. Current practices often involve the development of customized interfaces for each application. The custom interfaces try to match the capabilities of the available input devices. To address these issues, we have developed a middleware tool called Tweek. Tweek presents users with an extensible 2D Java graphical user interface (GUI) that communicates with VR applications. Using this tool, developers are free to create a GUI that provides extended capabilities for interacting with a VE. This paper covers in detail the design of Tweek and its use with VR Juggler, an open source virtual reality development tool. Keywords Virtual Reality, Java, JavaBeans, C++, CORBA 1. INTRODUCTION Interaction within a virtual world is perhaps the most limiting factor for the development of complex virtual reality (VR) applications. For example, interactions with large amounts of data, alphanumeric information, or abstract operations may not map well to current VR interaction methods, which are primarily spatial. Current practices often involve the development of customized interfaces for each application. The custom interfaces try to match the capabilities of the available input devices. Most of these devices are tailored toward simple threedimensional (3D) interaction such as grabbing a virtual object or pointing to indicate the direction of travel. These techniques work well for spatial interaction, but many other types of interactions can be represented more effectively using two-dimensional (2D) interfaces. For example, text annotations, selecting items from lists, and viewing documents work well with existing 2D interfaces in conventional desktop environments. When moving to an immersive 3D environment, users should not be required to abandon the effective presentation methods already available in a standard desktop environment. In addition to limited interaction in immersive environments, many of the VR interfaces and interactions are closely tied to specific display systems. Although there are applications that demand a particular VR display, most VR applications should be allowed to run on different systems with different displays to take advantage of the available resources or to use the display that is more appropriate to the task at hand. The need to support 2D interactions in immersive environments combined with the need for a flexible interface that can be used in a variety of VR systems has motivated us to design Tweek. Tweek combines a generalized framework for graphical user interface (GUI) components and a back-end that allows the GUIs to connect to remote components using the Common Object Request Broker Architecture (CORBA) [11]. By using CORBA, the two sides of a network connection can be written in any language and can be operating on two different computing platforms. Currently, Java is the favored language for the GUI, and C++ is the typical choice for the immersive applications. The combination of CORBA, Java, and C++ leads to a wide variety of target platforms and windowing systems, thereby providing the flexibility required for cross-vr-platform interaction methods. Many new interaction techniques can be explored through this combination of 2D and 3D interfaces. For example, taking advantage of the rapidly evolving palmtop and wireless technologies, we are using a tracked palmtop computer to interact with virtual objects and spaces. This paper covers the design and implementation of Tweek and current use of it with VR Juggler [1][12], an open source virtual reality application development tool. It also describes several applications in the areas of military training, virtual manufacturing, and education in which Tweek has been applied to develop 2D interfaces for palmtop devices. 2. PREVIOUS WORK Some of the original ideas for Tweek come from our previous work [7][8] on integrating 2D interaction into
2 immersive environments. This work used a Java-based GUI; however it lacked the CORBA components and a flexible design that could adapt to application needs. Other work in this area [4][6][9] has focused on the effectiveness of using a palmtop in virtual environments. These efforts put little emphasis on the design of a framework that will support user- or application-defined GUIs without requiring customization of the underlying infrastructure. With Tweek, we are building on these earlier works to provide the missing framework. 3. TWEEK MOTIVATION In this section, we explain the motivation behind Tweek and its novel features, especially as they relate to previous work in the use of 2D GUIs in 3D environments. We begin with the flexibility in choosing a programming language for implementing applications and GUIs. We then explain the importance of GUI portability and what Tweek offers in this area. Finally, we discuss how the Tweek software reuses existing technology, especially that of GUI implementations. Programming Language Independence In the field of computing, the state of the art changes constantly, and programming languages are not exempt from these changes. While object-oriented programming is popular today, it may not always be the favored paradigm. Languages that implement paradigms change in popularity as well. As part of the development of Tweek, we have experimented with multi-language capabilities. The result is an implementation that allows any programming languages to be used for VR application development and for GUI development. The current implementation focuses on Java for the GUI and C++ for the VR application, but this need not always be the case. Programming language independence in Tweek is realized through the use of CORBA. CORBA itself is a standardized cross-platform, language-independent tool for distributed programming. These characteristics make CORBA well suited for use with Tweek where the VR applications and the GUI are not necessarily written using the same programming language nor do they necessarily execute on the same computer. GUI Portability VR applications often must be capable of executing in a variety of configurations, from low-end PCs to expensive, high-end supercomputers. If a GUI will be used with a VR application, it should be capable of moving between systems with the application. Thus, GUI portability becomes an important issue. Some previous work in this area has allowed the GUI to run only in a single computing environment [6]. With Tweek, we have aimed to address such limitations by making the GUI portable from traditional desktop interaction to fully immersive 3D graphics. With a portable GUI, VR application developers can work with the same interface in a variety of VR system configurations. For example, developers of VR applications often have the ability to develop their environments in what is known as simulator mode. Generally, this means using a desktop computer for application design and coding. When running the application, the mouse and keyboard are used to represent the input devices actually available in the full-scale VR system. Thus, the developer can simulate all the actions possible in the VR system using the desktop environment. With this understanding of simulating a VR system on a desktop, we have the motivation for making a GUI input to the virtual world portable between the desktop and the VR system. Moving beyond the desktop simulation, the Tweek GUI can be brought into CAVE -like VR systems where large projection screens are used for displaying the 3D graphics [2]. To bring the GUI into the VR system, users may install the Tweek GUI software on a palmtop computer or on a personal digital assistant (PDA). Current wireless technology makes the use of such computing devices in CAVE -like systems convenient and easy. When a palmtop computer is not available, the Tweek GUI can make use of 3D windowing tools to run as a 2D representation in an immersive 3D environment. This is because the interface between the user and the virtual environment is separated physically from the virtual reality system and is therefore made portable. This preserves the user s sense of presence because the interface remains with the user's person as part of the accessible environment, independent of the VR system used. Reuse of Existing GUI Technology Current 2D GUI technology is very mature and very well understood. Based on previous efforts to incorporate 2D interaction into immersive 3D spaces, we have found that some interactions are better suited to 2D GUIs than to 3D GUIs or 3D spatial interaction [8]. Thus, the desire to reuse 2D GUI technology has played a major role in designing the Tweek software. The current Tweek implementation makes use of existing Java-based GUI software libraries. More specifically, we use the popular Java Swing libraries that have been included with all Java Development Kit releases since Version 1.2. As long as a Java virtual machine (JVM) and a windowing system are available, the Tweek GUI software can be executed. The use of Java does impose some restrictions, however, due to JVM availability and
3 Figure 1 Stuff in VR Figure 1 Palmtop in an immersive environment JVM memory use. For example, most current PDAs have limited memory (both volatile and persistent) and may not have a full Java runtime implementation yet. We feel that the rapidly improving state of PDA technology will lessen the complications imposed by these drawbacks. By reusing existing Java GUI technology, we have been able to focus on the interaction methods rather than on the implementation of our own GUI software. The language-independence feature of Tweek offers the potential for using other popular cross-platform GUI toolkits such as Qt and GTK+ as well as the use of other operating system-native toolkits. 4. TWEEK DESIGN The basic design goal of Tweek is to provide a crossplatform, cross-language framework within which VR application programmers can implement 2D GUI interactions with a 3D environment. To achieve this, the Observer design pattern [3] is implemented such that the subject is the VR application and the observer is the GUI. Thus, graphical components within the GUI control act as viewers of state information maintained by the VR application. The state information is entirely user defined. It may, for example, contain the user s position and orientation so that a top-down map can be displayed in the GUI as a navigation aid. With this basic foundation, users in a virtual environment (VE) can manipulate the 2D interaction on a palmtop computer in exactly the same manner as they manipulate conventional 2D interfaces in a desktop environment. The palmtop provides a physical interface for displaying and using the GUI. It can be integrated into the virtual world simply by bringing the palmtop computer into the space, as can be seen in Figure 1. Input to the GUI is transmitted via a network connection to the immersive 3D application, and the application responds accordingly. In the same manner, the application can communicate information back to the user through the GUI. This enables users, for instance, to add more information about virtual objects; to see specifications of a recently selected object; or to make text annotations about objects using the palmtop input device. By simplifying data input with the 2D device, users can also provide fine-grained specification of numerical values. Object selection and world navigation can be simplified by providing a 2D overview of the environment. The Tweek software is not limited to display of elements for direct application interaction. Its GUI can load any other GUI component that is needed. For example, a web browser could be run for showing maps or documentation about the immersive world. A scientific visualization application could incorporate a standard database frontend into Tweek so that database manipulations could be visualized instantly. 5. TWEEK IMPLEMENTATION Tweek is a collection of multiple technologies: C++, Java, JavaBeans, the Extensible Markup Language (XML), and CORBA. Combined, these allow a Java GUI composed of plug-ins to communicate with a C++ application. We explain the use of these technologies in this section. Java GUI and JavaBeans In order to offer users a highly flexible GUI, Tweek includes a generic Java-based application framework that loads plug-ins dynamically to extend its functionality. These plug-ins may be discovered when the Tweek Java GUI is initialized; they may be loaded from disk after the GUI has already been activated; or they may be downloaded, or pushed, from the immersive 3D application. The last of these options allows the 3D environment developers to bundle a custom GUI with their application. A user s palmtop can then receive the GUI plug-in automatically when first stepping into the VR system. The plug-ins loaded by the Java GUI are implemented as JavaBeans (Beans) [5]. The Beans fall into one of four categories: 1. Service Beans 2. Viewer Beans 3. Panel Beans 4. Generic Beans
4 Service Beans encapsulate functionality that may be useful to core elements of the Tweek Java GUI or to dynamically loaded code. The entire interface for a Service Bean must be known when the code using the service is compiled. This is necessary because the using code needs to be able to take full advantage of the service. Viewer Beans provide a visualization and organization of the loaded graphical Beans. All Viewer Beans must implement a well-known Java interface defined as part of the basic Tweek Java application programmer interface (API). These Beans may be changed at runtime to present users with different views of the same set of graphical Beans. Users of the Tweek Java GUI can write their own Viewer Bean to get a custom view that suits their needs and preferences. Panel Beans are the key to extension of the Tweek Java GUI. These Beans add components to the generic GUI and thus provide extended functionality. Programmers designing a custom GUI to their VR applications write Panel Beans that make use of existing Java GUI components. All Panel Beans must have a key class that derives from the basic Java Swing class javax.swing.jcomponent (or some subclass thereof). This is required so that the key class may be instantiated and added to the GUI layout. Optionally, Panel Bean authors may implement other interfaces defined as part of the basic Tweek GUI API to extend the capabilities of their Beans. The last category into which a Bean may be classified is the Generic Bean. Nothing is assumed about Generic Beans. This Bean category is provided so that other Beans can do their own dynamic code loading. For example, a Bean that uses a Factory pattern [3] may want to have the workers loaded dynamically based on some criteria. In so doing, the functionality of the factory can be changed dynamically. XML Descriptions Beans are discovered using XML-based descriptions. The XML description provides all necessary information including paths and external dependencies. An example XML file is shown in Figure 2. This gives an example of a Panel Bean contained in the Java archive PfControlBean.jar. Within the archive, there is an entry vrjtest/pfcontrol that is the aforementioned key class for the Panel Bean. This class will be instantiated by the Tweek Java GUI and added to the GUI layout. Observer Pattern Earlier, we stated that Tweek uses the Observer design pattern [3]. This pattern defines a separation between the state of an object and a view of that state. Within the <?xml version="1.0" encoding="utf-8"?> <beanlist> <guipanel name="pf Model Control"> <file name="pfcontrolbean.jar" entry="vrjtest/pfcontrol"/> <tree path="/"/> </guipanel> </beanlist> Figure 2 Sample XML Bean description pattern, there are two classes: observer and subject. The subject maintains the state; the observer provides a view of the state. A single subject may have multiple observers, each of which is notified when the state of the subject changes. When notified of changes, observers query their subjects to get the latest state information. In Tweek, the use of the Observer pattern is implemented with CORBA. CORBA provides the link between the Java GUI and the VR applications. When working with CORBA, all objects are accessed using references. The reference has a well-known interface that can be accessed by any programming language. A language-independent interface to an object is specified using the Interface Definition Language (IDL). IDL is not a programming language, but it includes the basic concepts of types, both fundamental and aggregate, and functions. Implementations of the interfaces must be written in a programming language such as C++, Java, or Perl. To simplify the definition of interfaces, Tweek defines two basic interfaces: tweek::subject and tweek::observer. The programmers of VR applications and GUI extend these interfaces to define behavior specific to their applications. Extensions to the subject interface will be used by the VR application to manage state information. Extensions to the observer interface will be used by the Java GUI to visualize and possibly manipulate the state information. Each subject implementation must have a corresponding observer implementation. To simplify object access further, a third interface, tweek::subjectmanager, is defined. An object called the Subject Manager may be created on every node where subjects will be instantiated. Application-specific subjects are registered with the Subject Manager, and nodes that need a reference to a given subject request the reference through the Subject Manager. References are requested using unique, symbolic strings. Thus, the job of the Subject Manager is to hide the details of object registration and reference requesting. 6. CURRENT USES OF TWEEK Tweek is in use at the Virtual Reality Applications Center at Iowa State University. We use the Tweek Java GUI on palmtop computers to control applications in our projection-based VR systems. For example, we use
5 Tweek on a palmtop to provide extended input capabilities for a military training application. It includes VCR-like controls that allow playback of recorded training data; six-degree-of-freedom navigation capabilities; detailed entity data readout for individual military units; and visual options for the units and the environment. This application is written using VR Juggler, an open source, cross-platform framework for the development of VR applications [1]. VR Juggler provides a virtual platform that abstracts the details of the VR hardware system. It thus allows the applications to be more portable. When using Tweek with VR Juggler, the GUI interfaces become portable as well. 7. CONCLUSIONS AND FUTURE WORK The next stage of development for Tweek will include dynamic installation of GUI panels on the palmtop computer. The goal is to allow any user to enter the VE and get the GUI panels automatically. This functionality will be realized by taking advantage of GUI component pushing, as discussed earlier. We are interested in the extension of Tweek GUIs into the realm of Java applets, small programs that may be loaded by common World Wide Web browsers. We feel that incorporation into the well-known browser interface could enhance the usability of the 2D GUI, especially for inexperienced users. Related to this, we will investigate encryption and authentication capabilities available with various CORBA implementations to enable secure communication only with authorized parties. [5] G. Hamilton (ed.), JavaBeans 1.01 Specification, Sun Microsystems, Mountain View, CA, [6] K. Watsen, R.P. Darken, M.V. Capps, A Handheld Computer as an Interaction Device to a Virtual Environment, 3 rd International Immersive Projection Technology Workshop (IPT 1999), Stuttgart, Germany, May 10 11, [7] L.C. Hill, C. Cruz-Neira. Palmtop Interaction Methods for the Immersive Projection Technology VR Systems, 4 th International Workshop on Immersive Projection Technology (IPT 2000), Ames, Iowa, June 19 20, [8] L.C. Hill, Usability of 2D Palmtop Interaction Device in Immersive Virtual Environments, Master s thesis, Iowa State University, [9] M.M. Wloka, E. Greenfield, The Virtual Tricorder: A Uniform Interface to Virtual Reality, UIST'95 Proceedings, [10] N. Elmqvist, 3Dwm: Three-Dimensional User Interfaces Using Fast Constructive Solid Geometry, Master s thesis, Chalmers University of Technology, Göteborg, Sweden, [11] OMG, The Common Object Request Broker: Architecture and Specification, 2.6 ed., Object Management Group, December [12] VR Juggler WWW site, current April 10, 2002 We plan to make use of Tweek GUIs mapped directly into the 3D environment. We plan to experiment with existing work such as 3Dwm [10]. Our goal is to offer an immersive GUI with familiar controls without reinventing GUI technology. 8. REFERENCES [1] A. Bierbaum, VR Juggler: A Virtual Platform for Virtual Reality Application Development, Master s thesis, Iowa State University, [2] C. Cruz-Neira, Virtual Reality Based on Multiple Projection Screens: The CAVE and Its Applications to Computational Science and Engineering, Ph. D. dissertation, University of Illinois at Chicago, [3] E. Gamma, et. al., Design Patterns: Elements of Reusable Object-Oriented Software, Addison- Wesley Professional Computing Series, Addison- Wesley Publishing Company, New York, NY, [4] G.W. Fitzmaurice, W. Buxton, The Chameleon: Spatially Aware Palmtop Computers, ACM CHI'94, pp , 1994.
1. Overview of the Java Language
1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax
Distributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
What Is the Java TM 2 Platform, Enterprise Edition?
Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming
Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design
Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering
Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying
A generic framework for game development
A generic framework for game development Michael Haller FH Hagenberg (MTD) AUSTRIA [email protected] Werner Hartmann FAW, University of Linz AUSTRIA [email protected] Jürgen Zauner FH
2 Introduction to Java. Introduction to Programming 1 1
2 Introduction to Java Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Describe the features of Java technology such as the Java virtual machine, garbage
INTRODUCTION TO JAVA PROGRAMMING LANGUAGE
INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,
Extending Desktop Applications to the Web
Extending Desktop Applications to the Web Arno Puder San Francisco State University Computer Science Department 1600 Holloway Avenue San Francisco, CA 94132 [email protected] Abstract. Web applications have
zen Platform technical white paper
zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant
A Modular Approach to Teaching Mobile APPS Development
2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development
Efficiency of Web Based SAX XML Distributed Processing
Efficiency of Web Based SAX XML Distributed Processing R. Eggen Computer and Information Sciences Department University of North Florida Jacksonville, FL, USA A. Basic Computer and Information Sciences
Virtual Credit Card Processing System
The ITB Journal Volume 3 Issue 2 Article 2 2002 Virtual Credit Card Processing System Geraldine Gray Karen Church Tony Ayres Follow this and additional works at: http://arrow.dit.ie/itbj Part of the E-Commerce
OUR COURSES 19 November 2015. All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden
OUR COURSES 19 November 2015 Solid Beans AB Kungsgatan 32 411 19 Göteborg Sweden Java for beginners JavaEE EJB 3.1 JSF (Java Server Faces) PrimeFaces Spring Core Spring Advanced Maven One day intensive
Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat
Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat Page 1 of 14 Roadmap Client-Server Architecture Introduction Two-tier Architecture Three-tier Architecture The MVC Architecture
Chapter 12 Programming Concepts and Languages
Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution
GenericServ, a Generic Server for Web Application Development
EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student [email protected] Bilal CHEBARO Assistant professor [email protected] Abstract
Heterogeneous Tools for Heterogeneous Network Management with WBEM
Heterogeneous Tools for Heterogeneous Network Management with WBEM Kenneth Carey & Fergus O Reilly Adaptive Wireless Systems Group Department of Electronic Engineering Cork Institute of Technology, Cork,
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
Java Technology in the Design and Implementation of Web Applications
Java Technology in the Design and Implementation of Web Applications Kavindra Kumar Singh School of Computer and Systems Sciences Jaipur National University Jaipur Abstract: This paper reviews the development
Software Development Kit
Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice
Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java
Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java Oxford University Press 2007. All rights reserved. 1 C and C++ C and C++ with in-line-assembly, Visual Basic, and Visual C++ the
Integration of DB oriented CAD systems with Product Lifecycle Management
Integration of DB oriented CAD systems with Product Lifecycle Management Roberto Penas, SENER Ingeniería y Sistemas S.A., Tres Cantos/Spain, [email protected] Carlos González, SENER Ingeniería y Sistemas
E-Business Technologies for the Future
E-Business Technologies for the Future Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh [email protected] http://www.sis.pitt.edu/~spring Overview
VRSPATIAL: DESIGNING SPATIAL MECHANISMS USING VIRTUAL REALITY
Proceedings of DETC 02 ASME 2002 Design Technical Conferences and Computers and Information in Conference Montreal, Canada, September 29-October 2, 2002 DETC2002/ MECH-34377 VRSPATIAL: DESIGNING SPATIAL
Efficiency Considerations of PERL and Python in Distributed Processing
Efficiency Considerations of PERL and Python in Distributed Processing Roger Eggen (presenter) Computer and Information Sciences University of North Florida Jacksonville, FL 32224 [email protected] 904.620.1326
Titolo del paragrafo. Titolo del documento - Sottotitolo documento The Benefits of Pushing Real-Time Market Data via a Web Infrastructure
1 Alessandro Alinone Agenda Introduction Push Technology: definition, typology, history, early failures Lightstreamer: 3rd Generation architecture, true-push Client-side push technology (Browser client,
What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
What is Middleware? Application Application Middleware Middleware Operating System Operating System Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
Total System Operations and Management for Network Computing Environment
Total System Operations and Management for Network Computing Environment Hitachi Review Vol. 47 (1998), No. 6 291 Satoshi Miyazaki, D. Eng. Toshiaki Hirata Masaaki Ohya Eiji Matsumura OVERVIEW: The architecture
An Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000
An Oracle Technical White Paper INTRODUCTION This paper is designed to provide you with an overview of some of the key points of the Oracle Forms Server architecture and the processes involved when forms
Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models
Table of Contents J2EE Technology Application Servers... 1 ArchitecturalOverview...2 Server Process Interactions... 4 JDBC Support and Connection Pooling... 4 CMPSupport...5 JMSSupport...6 CORBA ORB Support...
Computer Information Systems (CIS)
Computer Information Systems (CIS) CIS 113 Spreadsheet Software Applications Prerequisite: CIS 146 or spreadsheet experience This course provides students with hands-on experience using spreadsheet software.
Base One's Rich Client Architecture
Base One's Rich Client Architecture Base One provides a unique approach for developing Internet-enabled applications, combining both efficiency and ease of programming through its "Rich Client" architecture.
The Service Availability Forum Specification for High Availability Middleware
The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum [email protected], [email protected],
Web Pages. Static Web Pages SHTML
1 Web Pages Htm and Html pages are static Static Web Pages 2 Pages tagged with "shtml" reveal that "Server Side Includes" are being used on the server With SSI a page can contain tags that indicate that
MIGRATING DESKTOP AND ROAMING ACCESS. Migrating Desktop and Roaming Access Whitepaper
Migrating Desktop and Roaming Access Whitepaper Poznan Supercomputing and Networking Center Noskowskiego 12/14 61-704 Poznan, POLAND 2004, April white-paper-md-ras.doc 1/11 1 Product overview In this whitepaper
Managing a Geographic Database From Mobile Devices Through OGC Web Services
Managing a Geographic Database From Mobile Devices Through OGC Web Services Nieves R. Brisaboa 1, Miguel R. Luaces 1, Jose R. Parama 1, and Jose R. Viqueira 2 1 Database Laboratory, University of A Coruña,
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
Developing XML Solutions with JavaServer Pages Technology
Developing XML Solutions with JavaServer Pages Technology XML (extensible Markup Language) is a set of syntax rules and guidelines for defining text-based markup languages. XML languages have a number
Mensch-Maschine-Interaktion 1. Chapter 8 (June 21st, 2012, 9am-12pm): Implementing Interactive Systems
Mensch-Maschine-Interaktion 1 Chapter 8 (June 21st, 2012, 9am-12pm): Implementing Interactive Systems 1 Overview Introduction Basic HCI Principles (1) Basic HCI Principles (2) User Research & Requirements
Going Interactive: Combining Ad-Hoc and Regression Testing
Going Interactive: Combining Ad-Hoc and Regression Testing Michael Kölling 1, Andrew Patterson 2 1 Mærsk Mc-Kinney Møller Institute, University of Southern Denmark, Denmark [email protected] 2 Deakin University,
IBM Rational Web Developer for WebSphere Software Version 6.0
Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,
Net-WMS FP6-034691. Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant
Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT Networked Businesses D.8.1 Networked architecture J2EE compliant ( Version 1 ) Due date of deliverable: June 30 th, 2007 Actual submission date:
Modern Software Development Tools on OpenVMS
Modern Software Development Tools on OpenVMS Meg Watson Principal Software Engineer 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Topics
Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB
September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets
Client/server is a network architecture that divides functions into client and server
Page 1 A. Title Client/Server Technology B. Introduction Client/server is a network architecture that divides functions into client and server subsystems, with standard communication methods to facilitate
Rapid application development for JEE using Adobe ColdFusion 9
Rapid application development for JEE using Adobe ColdFusion 9 Table of contents 1 Six issues affecting web application development 2 The ColdFusion approach for rapid application development 3 The business
Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents
Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)
NASA Workflow Tool. User Guide. September 29, 2010
NASA Workflow Tool User Guide September 29, 2010 NASA Workflow Tool User Guide 1. Overview 2. Getting Started Preparing the Environment 3. Using the NED Client Common Terminology Workflow Configuration
GUI and Web Programming
GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program
QuickSpecs. QuickSpecs. Description. HP OpenVMS Application Modernization and Integration Infrastructure Package,Version 2.3
Description The Infrastructure Package provides Internet, e-business, and integration software technology that enhances the OpenVMS Alpha and I64 operating systems, enabling the development of e-business
A Comparison of Open Source Application Development Frameworks for the Enterprise
A Comparison of Open Source Application Development Frameworks for the Enterprise Webinar on March 12, 2008 Presented by Kim Weins, Sr. VP of Marketing at OpenLogic and Kelby Zorgdrager, President of DevelopIntelligence
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
JavaFX Session Agenda
JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)
INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) International Journal of Computer Engineering and Technology (IJCET), ISSN 0976-6367(Print), ISSN 0976 6367(Print) ISSN 0976 6375(Online)
Enterprise Application Development In Java with AJAX and ORM
Enterprise Application Development In Java with AJAX and ORM ACCU London March 2010 ACCU Conference April 2010 Paul Grenyer Head of Software Engineering [email protected] http://paulgrenyer.blogspot.com
U.S. Navy Automated Software Testing
U.S. Navy Automated Software Testing Application of Standards to the Automated Test and Re-Test (ATRT) Effort Object Management Group (OMG) Technical Meeting June 2007 Approved for public release; distribution
Structuring Product-lines: A Layered Architectural Style
Structuring Product-lines: A Layered Architectural Style Tommi Myllymäki, Kai Koskimies, and Tommi Mikkonen Institute of Software Systems, Tampere University of Technology Box 553, FIN-33101 Tampere, Finland
A framework for web-based product data management using J2EE
Int J Adv Manuf Technol (2004) 24: 847 852 DOI 10.1007/s00170-003-1697-8 ORIGINAL ARTICLE M.Y. Huang Y.J. Lin Hu Xu A framework for web-based product data management using J2EE Received: 8 October 2002
Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010
Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache
NetBeans IDE Field Guide
NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting
Service-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
JAVA WEB START OVERVIEW
JAVA WEB START OVERVIEW White Paper May 2005 Sun Microsystems, Inc. Table of Contents Table of Contents 1 Introduction................................................................. 1 2 A Java Web Start
Elements of Advanced Java Programming
Appendix A Elements of Advanced Java Programming Objectives At the end of this appendix, you should be able to: Understand two-tier and three-tier architectures for distributed computing Understand the
Software Tools for Virtual Reality Application Development
Software Tools for Virtual Reality Application Development SIGGRAPH 98 Course 14 Applied Virtual Reality Allen Bierbaum and Christopher Just (allenb, [email protected]) Iowa Center for Emerging Manufacturing
Usage Analysis Tools in SharePoint Products and Technologies
Usage Analysis Tools in SharePoint Products and Technologies Date published: June 9, 2004 Summary: Usage analysis allows you to track how websites on your server are being used. The Internet Information
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform
Part III: Component Architectures Natividad Martínez Madrid y Simon Pickin Departamento de Ingeniería Telemática Universidad Carlos III de Madrid {nati, spickin}@it.uc3m.es Introduction Contents Client-server
ORACLE ADF MOBILE DATA SHEET
ORACLE ADF MOBILE DATA SHEET PRODUCTIVE ENTERPRISE MOBILE APPLICATIONS DEVELOPMENT KEY FEATURES Visual and declarative development Java technology enables cross-platform business logic Mobile optimized
Java ME & NetBeans Mobility. Petr Suchomel Architect, NetBeans Mobility Sun Microsystems
Java ME & NetBeans Mobility Petr Suchomel Architect, NetBeans Mobility Sun Microsystems Agenda Java ME introduction Java ME applications NetBeans Mobility Edition Power of advanced features Demos, demos,
CS 209 Programming in Java #1
CS 209 Programming in Java #1 Introduction Spring, 2006 Instructor: J.G. Neal 1 Topics CS 209 Target Audience CS 209 Course Goals CS 209 Syllabus - See handout Java Features, History, Environment Java
The MaXX Desktop. Workstation Environment. Revised Road Map Version 0.7. for Graphics Professionals
The MaXX Desktop Workstation Environment for Graphics Professionals Revised Road Map Version 0.7 Document History Author Date Version Comments Eric Masson 01/11/2007 0.5 First Draft Eric Masson 18/11/2007
System Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
A Real Time, Object Oriented Fieldbus Management System
A Real Time, Object Oriented Fieldbus Management System Mr. Ole Cramer Nielsen Managing Director PROCES-DATA Supervisor International P-NET User Organisation Navervej 8 8600 Silkeborg Denmark [email protected]
A Survey Study on Monitoring Service for Grid
A Survey Study on Monitoring Service for Grid Erkang You [email protected] ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide
X Series Application Note 43:
X Series Application Note 43: Using the Remote Viewing & Web Pages of the X - Series & GR Series Recorders The Remote Viewing function of the X-Series and GR Series Recorders provide the user with the
Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components
How Programmers Use Internet Resources to Aid Programming
How Programmers Use Internet Resources to Aid Programming Jeffrey Stylos Brad A. Myers Computer Science Department and Human-Computer Interaction Institute Carnegie Mellon University 5000 Forbes Ave Pittsburgh,
HydroDesktop Overview
HydroDesktop Overview 1. Initial Objectives HydroDesktop (formerly referred to as HIS Desktop) is a new component of the HIS project intended to address the problem of how to obtain, organize and manage
An Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
Glassfish, JAVA EE, Servlets, JSP, EJB
Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,
Manjrasoft Market Oriented Cloud Computing Platform
Manjrasoft Market Oriented Cloud Computing Platform Innovative Solutions for 3D Rendering Aneka is a market oriented Cloud development and management platform with rapid application development and workload
GIS Web Services. Acknowledgement: Thanks to Principal & Dr. (Mrs.) G.V. Rao, CRS-GIS, K.J.
GIS Web Services Presented By: Shivani Shukla Acknowledgement: Thanks to Principal & Dr. (Mrs.) G.V. Rao, CRS-GIS, K.J. Somaiya College Of Science & Commerce, Mumbai for the inspiration of poster making.
Product Overview. Contents
Contents Product Overview Copyright 2002 - Xware AB. All rights reserved. xtrade is a registered trademark of Xware AB. Symphonia is a trademark of Orion Systems New Zealand Ltd. All rights reserved. 2
Modeling Web Applications Using Java And XML Related Technologies
Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA [email protected] Yun-Sik
SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
A Monitored Student Testing Application Using Cloud Computing
A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA [email protected], [email protected]
SOA, case Google. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901.
Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901 SOA, case Google Written by: Sampo Syrjäläinen, 0337918 Jukka Hilvonen, 0337840 1 Contents 1.
The Security Framework 4.1 Programming and Design
Tel: (301) 587-3000 Fax: (301) 587-7877 E-mail: [email protected] Web: www.setecs.com Security Architecture for Development and Run Time Support of Secure Network Applications Sead Muftic, President/CEO
An Architecture for Web-based DSS
Proceedings of the 6th WSEAS Int. Conf. on Software Engineering, Parallel and Distributed Systems, Corfu Island, Greece, February 16-19, 2007 75 An Architecture for Web-based DSS Huabin Chen a), Xiaodong
How To Develop A Web Dialog For An Org Database With A Database On A Computer (Oracle)
Designing a Framework to Develop WEB Graphical Interfaces for ORACLE Databases - Web Dialog Georgiana-Petruţa Fîntîneanu Florentina Anica Pintea, Faculty of Computers and Applied Computer Science, Tibiscus
ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET
ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET PRODUCTIVE ENTERPRISE MOBILE APPLICATIONS DEVELOPMENT KEY FEATURES Visual and declarative development Mobile optimized user experience Simplified access to
Satisfying business needs while maintaining the
Component-Based Development With MQSeries Workflow By Michael S. Pallos Client Application Satisfying business needs while maintaining the flexibility to incorporate new requirements in a timely fashion
Syllabus for CS 134 Java Programming
- Java Programming Syllabus Page 1 Syllabus for CS 134 Java Programming Computer Science Course Catalog 2000-2001: This course is an introduction to objectoriented programming using the Java language.
