Quick Start: Introduction

Introducing EchoStudio

EchoStudio enables developers to use a simple point-and-click interface to rapidly build a Web front-end with the functionality of a rich client. The guesswork of component layout is removed by providing a preview of an application's interface as it is built. The number of steps and time necessary to evaluate changes is greatly reduced by letting developers launch their Web applications in a single click. These features make EchoStudio an indispensable tool for every Web application developer.

EchoStudio uses the popular Echo Web application framework as the foundational tool on which to develop its richly interactive and easy to develop applications.

Introducing Echo

Echo is a framework for developing object-oriented, event-driven Web applications. Traditional Web application frameworks follow the page-oriented nature of HTTP interactions, which can be very cumbersome for highly interactive or data-driven applications. Echo abstracts you from the request-response nature of HTTP and allows you to focus on the interactions of your application the object-oriented and event-driven paradigm common to most rich-client technologies. Due to the abstractions Echo provides, you do not need knowledge of HTML, HTTP, or JavaScript.

Echo user interfaces are composed of reusable components that allow you to control a screen's layout and interactions. This component-oriented approach is very similar to the user interface technologies used in other object-oriented environments, such as Java's Swing and Microsoft's VisualBasic.

Types of Echo Components

Speaking broadly, Echo components can be divided into two categories: "containers" used for layout and "inputs" used for content and interaction. You are probably familiar with the "input" components -- they include buttons, checkboxes, labels, and text fields.

Screen Layout

The standard Echo "containers" are designed for relative placement of components, which is ideal for Web applications and other environments where you cannot precisely control the sizing of windows and components. To layout your screen, you add "containers" to the root form component and to each other until you achieve the desired effect. Finally, you add the "input" components to the "containers". This process of adding components to components creates a hierarchy, or "tree", of the components.

Further Reading

For a quick technical overview of Echo and its components, review the Technical Overview documentation.

About This Guide

This guide will get you started using EchoStudio quickly. It will walk you through building a login screen for an application. While concentrating on this login screen, you will learn how to create an Echo project, build screens by laying out components, validate user input, centralize your application's work flow, internationalize text and images, and give your application a consistent visual theme. By the end of this document, you will know how leverage many of EchoStudio's features to rapidly construct advanced Web interfaces for your applications.

Securing Echo Applications

The login screen you will create can be used to control access to your production applications.

Traditional Web-based applications handle security authorization on a per-page or per-directory basis. This is necessary because a savvy user can jump to any page in the application by entering an appropriate URL in his browser. However, Echo applications behave more like rich clients in which a user cannot access a screen without deliberately navigating to the screen through the application's user interface. There is no way for the user of an Echo application to "deep link" into an Echo application or bypass a screen. Consequently, simple access control can be implemented by making the first screen of the application a login screen.

Deep Linking
As it is normally conceived, deep linking is not possible in an Echo application. However, some systems require the ability to link to a specific screen or specific information from an external Web site or JSP page. It is possible to setup an Echo application to support this capability. Further discussion of this advanced topic is beyond the scope of this guide, but the developer forums have many explanations and examples.

Even though it is possible to limit access to your Echo applications with a login screen, many of the Echo applications you develop will benefit from using the Java Authentication and Authorization Service (JAAS) available through the Servlet container. Using JAAS enables interoperability with secured EJBs and other enterprise resources and allows the application to easily change behavior based on the user's identity and permissions. This approach requires instructing the Servlet container to use its internal authentication mechanisms and pointing the Servlet container to the user database or directory server. For more information, see the Sun J2EE tutorial, the jGuru FAQ, or other examples available online.



< Table of ContentsCreating a Project >