Shazaam

Over the years, Aepryus has been struck by how much unnecessary complexity there is in creating business applications. In 2002, during the Succinum project, Aepryus was finally able to design and develop a tool that greatly sped and made easier the development of such applications. That tool is Shazaam.Aepryus created Shazaam concurrently with Succinum in order to aid in its development. Originally, Shazaam made use of an Excel sheet in order to define the business's domain objects. After the Succinum project ended, Aepryus created Shazaam 2.0 which was a web application that allowed for a domain to be quickly and easily defined and then used to generate a skeleton application, which then could be further fleshed out.Aepryus can now create applications very rapidly. It has used Shazaam to not only create Succinum and Shazaam, itself, but also Maserati, Galvinum, Ida and many other minor projects.

What Is It?

At it's heart, Shazaam is simply a fancy mail merge program. The architecture of a new application is defined using templates written in which ever language one prefers. These files include tags that specify how the domain structure will fit into these files. Shazaam has a user interface that allows for the definition of the domain objects and how they relate to one another. Clicking the Shazaam! button will then merge the architectural templates and the domain definition data in order to create the skeleton application. Templates can be defined as overwrite-able or not.SproutWhen creating a new application Shazaam asks which architecture the developer would like to make use of. A developer could create an entirely new architecture and use that or else use an existing one, such as Sprout.An architecture can be in any language using any libraries or tools. Sprout, however, is a distributed architecture written in Java. It includes a number of tables, screens and bits of code that could be useful to any application based upon it. Sprout uses the AepLoom application server and the AepHTML graphics library for rendering web pages. It also generates a web services wrapper that makes it easy to interact with from external systems.Shazaam, AepLoom, AepHTML are all entirely neutral and do not need each other or even know about each other. A developer making use of Shazaam can chose which ever tools, languages, libraries they prefer. Sprout, however, as an architecture, encapsulates all these decisions. Sprout knows about and uses all the Aepryus tools and libraries and acts as the glue between them.Version ControlShazaam, also, tracks changes made to the object model. When the Shazaam! button is hit, it will create the SQL code necessary to migrate from one version to the next automatically. If AepLoom is the app server, it will detect the new version files and automatically apply these to any database the application is installed to. It creates one file per RDBMS setup within Shazaam (currently Oracle, MySQL and SQLite).


© 2015 Aepryus Software, Inc.