Chapter 1. Introduction

This chapter contains a high-level introduction to Exadel Flamingo — what it is and what it does.

1.1. What is Exadel Flamingo?

This guide introduces the reader informally to the basic concepts and features of Exadel Flamingo – a powerful software development solution for integrating multiple Rich Internet Applications (RIAs) built on Adobe® Flex™, JavaFX, Java ME, Android and Java Widget Toolkits (Swing and SWT) with JBoss Seam or Spring Framework as premier open source server side technology.

The guide does not attempt to be comprehensive and cover every single feature. Instead, it describes many of Flamingo's most noteworthy features, and gives you a good idea of its flavor and style.

Exadel Flamingo is an integration library and framework for Rich Internet Applications which effortlessly allows you to build Flex or JavaFX based user interfaces for your JBoss Seam/Spring Framework applications. You can think of Flamingo as the glue you need to get these different technologies working together.

In addition to this, Flamingo provides a common Seam/Spring integration layer to RIA technologies using which developers are able to work with Seam remote objects and Spring service beans as well as simple entities on the server side using native RIA approach on the client side. This communication between client and server sides is transparent.

Developers are also able to generate much of the mundane boring code automatically into sensible code patterns. This allows developers who deal with RIA projects to write mostly code related to the logic of the business application rather than struggle with setting up the project and locating all the right patterns.

1.2. What is Seam?

JBoss Seam is a powerful new application framework for building next generation Web 2.0 applications by unifying and integrating technologies such as Asynchronous JavaScript and XML (AJAX), Java Server Faces (JSF), Enterprise Java Beans (EJB3), Java Portlets and Business Process Management (BPM).

Learn more about Seam here.

1.3. What is Spring?

Spring is a lightweight Java/J2EE application framework. It includes powerful JavaBeans-based configuration management applying Inversion-of-Control principles, a generic abstraction layer for transaction management, a JDBC abstraction layer, integration with Hibernate, JDO, Apache OJB, and iBATIS SQL Maps, AOP functionality, and a flexible MVC Web application framework with multiple view technologies.

Learn more about Spring here.

1.4. What is Flex?

Adobe® Flex™ is a complete, powerful application development solution for creating and delivering rich Internet applications within the enterprise and across the web. It enables enterprises to create personalized, multimedia-rich applications that dramatically enhance user experience, revolutionizing the way people interact with the web.

Learn more about Flex here.

1.5. What is JavaFX?

JavaFX is a family of products and technologies from Sun Microsystems. The JavaFX products are intended to be used to create Rich Internet applications. Currently JavaFX consists of JavaFX Script and JavaFX Mobile (an OS for mobile devices), although further JavaFX products are planned.

Learn more about JavaFX here.

1.6. What is Java ME?

Java Platform, Micro Edition (Java ME) provides a robust, flexible environment for applications running on mobile and other embedded devices—mobile phones, personal digital assistants (PDAs), TV set-top boxes, and printers. Java ME includes flexible user interfaces, robust security, built-in network protocols, and support for networked and offline applications that can be downloaded dynamically. Applications based on Java ME are portable across many devices, yet leverage each device's native capabilities.

Learn more about Java ME here.

1.7. What is Android?

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

Learn more about Android here.

1.8. What is Java Widget Toolkits?

1.8.1. Swing

The Swing toolkit includes a rich set of components for building GUIs and adding interactivity to Java applications. Swing includes all the components you would expect from a modern toolkit: table controls, list controls, tree controls, buttons, and labels.

Learn more about Swing here.