DigiSlice AppComposer ships with a library of applications and components that you can use as the basis of your own applications. To build an application using AppComposer, you can start with one of the existing applications and modify it to meet your needs. This is reuse at the application level.
Lacking an existing application to modify, you can build your own application out of the included components. This is reuse at the component level. AppComposer comes with a large set of general-purpose (infrastructure) components for building applications, which you can use for free.
AppComposer comes with many example programs. For a full listing of these example programs and instructions on how to run them, see http://support.digislice.com/docs/AppComposer/examples/index.html. This document only covers a few of them; the ones most likely to be used as a basis for other applications. Note that some of these applications involve EJBs or Web Services, so they are included only with the AppComposer Enterprise Suite. We list them here because the applications are free for you to use anyway. You can download the Enterprise Suite with a 60-day evaluation key, and then use these applications with the free version of AppComposer. To do this you will need to manually deploy the EJBs yourself, of course, to any standard application server (such as JBoss, WebSphere, or WebLogic).
Note that the database applications (BugDatabase, Netcard, and Poll) currently use the full SQL beans, which are included only in the AppComposer Enterprise Suite. We are rewriting these applications to use the free database component. Meanwhile, to play with these applications, please download the Enterprise Suite for a free 60 day trial.
Note that these applications are typically smaller and simpler than a commercial application would be. Commercial applications typically include many many features, so the application can be used by lots of different users, but it also means that these applications are bloated and slow. You will never use most of the features in a typical commercial application, and the features you do want to use might be complicated or might not be exactly what you want. Instead, AppComposer encourages you to create applications that exactly meet your needs, by customizing the application. We have been told by AppComposer users how they were able to replace huge expensive (multi-million dollar) commercial enterprise applications -- that still didn't meet their needs -- with simpler applications that exactly met their needs, and which they were able to assemble in a matter a week or two.
This is a bug tracking database with a Web interface, which has been used (as-is) by a number of companies. It is fast and easy to use, and should work with any relational database. You can easily modify it to add new fields, or other desired features.
Calculator is a simple six function Web-based calculator that works like an adding machine with paper tape. You can add additional functions as desired.
Mortgage is a mortgage calculator, which can be used in a Web page. You can easily modify it to perform other calculations from inside a Web page.
This is a fairly complete commercial e-commerce application. The actual application is for DVD rentals (note the made-up movies populating the database), but it can be modified for other e-commerce applications. This example is based on the Pet Store e-commerce application from Sun Microsystems, and was modified by a third party by converting it into reusable components and AppComposer capsules and behaviors. This example is typical of applications that were converted over from an existing (non-component-based) application.
This application uses EJBs, and is only included with the AppComposer Enterprise Suite download. See the note above about using it with the free version of AppComposer.
MutualFund is a web site for a fictional company, Reliance Mutual Funds. It is a fairly complete e-commerce application, which allows mutual funds to be bought and sold. This example is typical of an application that was built from scratch.
The MutualFund application uses EJBs, and the MFWithServices application uses a Web service (to retrieve prices for the mutual funds). They are only included with the AppComposer Enterprise Suite download. See the note above about using them with the free version of AppComposer.
Netcard is an application for sending and receiving electronic greeting cards over the Web. It can be modified to be used for any Web application that uses email.
Poll is a set of servlets for taking and creating user polls. With these servlets, you can create new polls to ask viewers what they think on any topic you desire.
FMWebAppEx2 is a Web application for maintaining a guest log on a web site, so that site visitors can leave their name, email address, and comments.
Clock is a client-side application (it has its own graphical user interface, rather than using a Web browser for its user interface). It implements an analog clock, a digital clock, and a cuckoo clock (to hear the cuckoo, click on the clock face or wait for the top of the hour).
ClockImage is almost the same as Clock, except that the analog and digital clock displays are encoded into a JPEG image, which is then sent to a normal Web browser. This shows how graphical client-side applications built using AppComposer can be converted over to dynamic Web applications.
StockGraph is a rich client application that uses a very simple form of Web service. It is a client-side application that displays a graph for any stock symbol. The graph is retrieved as an image over the Web.
Detailed (JavaDoc) documentation for all of the components that come with AppComposer can be found at http://support.digislice.com/docs/AppComposer/javadoc/index.html.
Components generally fall into one of two categories:
A set of 25 components for creating HTML pages. These can be used to create entire Web pages, or (more typically) they can be used to create pieces of HTML dynamically to be used inside of JSP pages, or in other ways.
The three most important web page components are:
A set of components for reading and writing SQL relational databases, without requiring the user to know much about SQL itself. Includes a powerful editor that generates SQL statements automatically.
The full set of SQL beans is included in the AppComposer Enterprise Suite. The free version of AppComposer includes a single SQL component that executes a user-supplied SQL statement. This is sufficient for users who know basic SQL commands. Alternatively, the full set of SQL beans can be purchased from DigiSlice (either by themselves, or as part of the Enterprise Suite).
A set of components that work with Java Messaging Services.
A component for sending a mail message, for both client-side and server-side applications. Requires access to an SMTP server.
A set of components for doing time-based things.
Simple beans for reading/writing text files and reading file directories.
Two beans for formatting and parsing numbers to and from strings.
This includes a number of useful components, including beans for handling exceptions, generating events, and displaying messages on a console.
A set of unsupported beans for accessing XML files. We have a new set of XML beans that are being created (you can download them from the user forum) that will replace these beans in the near future.
These are the standard AWT client-side user interface widgets from Sun. They are mainly useful for building client-side applications, including rich clients and applets.
This set of 11 components is useful for performing all kinds of graphical functions, like displaying pictures and drawing objects. They are mainly useful for building client-side applications, but one of the components in particular, called JpegSaver, is useful for creating dynamic images that are used as part of a Web page. See the ClockImage example in the examples/Jpeg directory to see JpegSaver used to create a web page containing an image of an analog clock.
A client-side component for playing sounds.
In AppComposer, components are reusable, but so too are the behaviors (smart wires) used to connect components together. You can save behaviors and reuse them. In addition to 7 built-in primitive behaviors, AppComposer comes with several saved reusable behaviors. One of the most useful reusable behaviors is called ServletGet, which processes an HTTP Get request for a servlet, connecting the request to the resulting Web page.
A set of components for holding data. They range from simple data, like int or String, through Color and HashTable, to complex data like URL and HttpCookie.
If you need a component that is not included with AppComposer, it is easy to add new components. To add a new component to AppComposer, simply drop it (the .jar file containing one or more JavaBeans) into the beans subdirectory of the directory where you installed AppComposer. You can get the new component in a number of ways:
The AppComposer Enterprise Suite include three plug-ins that help create new components:
Note that you are not required to purchase the Enterprise Suite to use EJBs or Web services in AppComposer, it just makes it easier by automatically building a new component for you to access the EJB or Web service. If you know how to program, you can build these proxy components yourself.