Chapter 1: Introduction from Enterprise Curl, by Prentice Hall | 4 | WebReference

Chapter 1: Introduction from Enterprise Curl, by Prentice Hall | 4

Enterprise Curl: Introduction

The Curl Platform

As released by Curl Corporation, the Curl technology consists of three elements: the language, the development environment, and the runtime engine.

The MIT engineers called their newly created Web language Curl because of the curly brackets {}, which are a key part of its syntax. The language offers a streamlined integration of text, markup, scripts, and applets, combing the functionality of common Internet technologies in one environment. Furthermore, it supports advanced two-dimensional (2D) and three-dimensional (3D) graphics, XML, event-driven user interaction, and networking. Curl is a fully featured object-oriented programming language, which in July 2001 had over 250 hours of development and displayed an API of approximately 4500 methods.

The development environment has been designed to support the rapid development of Curl applications. It consists of a developer’s guide, an API reference manual, a debugger, inspector, console, release tool, source editor, visual layout editor, and smart code completion. The current production release of the IDE is 2.0, and Figure 1–4 shows what it looks like.

The client-side plugin or runtime engine, also known as the Surge Software Platform, consists of a flexible, efficient JIT complier, automated versioning, and a platform-independent delivery vehicle.

Figure 1–4 Curl IDE.

What We Will Cover

The remainder of this book is split into five sections, with each incrementally building on the ones before. Figure 1–5 gives an illustration of the application that will be developed.

As you know, Curl is a language to create rich graphical interfaces that are executed over the Internet. It requires the support of a Web server and an enterprise application server to execute business processing and serve up data to the Curl front-end. The Curl application we are going to develop will mimic the use of an application server by obtaining XML files stored locally on the developer’s machine. It is outside the scope of this book to show you how to create server-side code in Java, the Microsoft .NET environment, an IBM mainframe, or any other server-side environment.

Figure 1–5 Screen shot of the final application.

Section 1 is entitled “Getting Started,” and here I’ll discuss the application we’ll be developing. I’ll also introduce a number of design and development ideas specific to Curl. These recommendations and guidelines are based on my experience of working on a number of Curl development projects in large organizations, and might be considered best-practice approaches when working on your first Curl project.

Section 2, “Main Application Components,” will work through the development of a number of key application framework elements, such as the logon process, the application frame, and the menu.

Section 3, “Presenting Data,” moves on to discuss how to create a typical search criteria interface that sends a user-specific query to the application server and accepts a returned XML response. It then discusses how to extract data from the XML message and display it within an Excel spreadsheet-
like grid, which has client-side sorting, column re-ordering, and filtering capabilities.

Section 4, “Presenting Data Graphically,” describes another mechanism for showing data within 2D graphs. It also introduces an approach to data mining, linking multiple graphs together to drill down for a more detailed view of the data.

Section 5, “Web Services,” concludes with an illustration of how you might make use of the built-in Simple Object Access Protocol (SOAP) support in Curl, by illustrating the code required to make calls to a complex third-party SOAP interface.


Figure 1–1  Typical mainframe application.
Figure 1–2  Typical client/server application.
Figure 1–3  Typical Web application.
Figure 1–4  Curl IDE.
Figure 1–5  Screen shot of the final application.

Created: May 2, 2003
Revised: May 2, 2003