The word mashup was originally defined as a technique for mixing two or more pieces of music to create a new musical composition. In software engineering, mashups refer to techniques and patterns for combining data, UI components, and processes to create new WEB applications and sites.
Mashups are popular among site developers because it makes it easy to combine data with content. This feature is derived from the widespread use of dynamic and rich semantic Web technologies, including XML, JavaScript serialized Object notation (JSON), Resource Description Framework (Resource Description FRAMEWORK,RDF), dynamic JavaScript, and Ajax. These technologies and other technologies offer unlimited possibilities for developers who develop creative content.
In general, mashups can be created by combining UI components, services/processes, and data. The Mashable UI component includes the results of dynamic JavaScript, HTML code Snippets, RSS digests, and Web service API calls. mashups use data transformations, dynamic JavaScript, DOM processing, and other techniques to mix loosely coupled UI components, processes, or data from one or more sites. Current typical mashups include combining maps in Google Maps with location data, such as crime statistics and real estate prices in a given area.
This article discusses how to use the APIs provided by Twitter and Google Maps in conjunction with Ajax and Java™ language code to build mashups that can be deployed and executed in the Apache Geronimo environment.
Understanding Geronimo
Geronimo is a fully compatible Java Platform, Enterprise Edition (Java EE) platform that can be used to build enterprise services and applications. Geronimo is designed around the architecture of highly decoupled services and components using reverse control (inversion of CONTROL,IOC) technology. This high decoupling creates a truly modular and configurable deployment and execution environment. Geronimo advocates the use of Java Management Extension (JMX) and a similar framework for Geronimo-specific MBean style, which makes Geronimo a powerful, manageable enterprise platform.
You will create the Geronimo runtime environment with a customizable set of modules that are assembled and managed by the lightweight kernel engine. The kernel engine is a Geronimo module, which is a collection of classes, other modules, and serializable configurations. After you start the Geronimo run-time instance, the Geronimo kernel loads, assembles, and organizes the modules. The assembled modules will determine the capabilities of the Geronimo deployment and execution environment. All services in the Geronimo Run-time instance are deployed as modules.
The Geronimo module is called the deployment plan in an XML document. The final Geronimo deployment plan contains a combination of the original deployment plan, the Maven project.properties file, and the MAVEN project Object Model (POM) file. Figure 1 shows how to work with these artifacts to create a final deployment plan.
Figure 1. Process the Geronimo deployment plan
The contents of the deployment plan are controlled by the XSD file. The deployment plan defines the module ID, the module's environment properties, the module dependencies, the services provided by the module, and the Geronimo Beans (GBeans) for the module, and so on. Listing 1 illustrates a simple Geronimo deployment plan.