Happy Holidays everyone! If you have kids, one thing you may be anticipating for tomorrow (with dread or excitement, depending on your geek quotient) is assembly—putting together all those toys Santa brings that say “some assembly required” (the meaning of “some” appears not to be regulated by any industry standard, but I digress…). From the fairly straightforward verb assemble arose an interesting noun assembly, which has come to mean the product that results from assembling. You can think of an assembly in the context of manufacturing as a component that has been assembled but which is not yet a complete item—it may have other things added to it, or it may itself be incorporated into something else. Think of a chassis assembly that gets incorporated into a car, or the pedestal assembly when putting together a piece of furniture, or the backboard-and-hoop assembly when putting together your kid’s basketball net.
The assembly metaphor can be used in a powerful way in the context of building and deploying distributed applications. In many cases, an enterprise software application is not a single, self-contained entity that runs on a single physical server but is rather a composite of many different entities distributed across different machines. Think of a typical application with a couple of Web servers handling the front end, a cluster of application servers running the core logic, and a cluster of database servers managing the data. Every time you build an application like this you have to recreate a fairly generic part of that topology and then add the specific modules that are unique to your application. Now imagine how powerful it would be if someone had factored out the common underlying part of that topology into a pre-built assembly, to which you the application builder just add your unique application code and then deploy. The pre-built assembly is already tested and thus takes out of the picture much of the configuration time and error risk related to deployment.
Oracle Assembly Builder does exactly this—it packages up the foundation-level pieces of a distributed application topology into an assembly that can be later configured and/or added to and then deployed. This is all about making deployment faster and easier. For enterprises creating platform-as-a-service (PaaS) private clouds, assemblies are powerful components to put into the platform to be used by cloud tenants in creating their applications. Some (but not too much) assembly required. Happy Holidays everyone!
