proposal for EJB component start-upEnterprise JavaBeans (EJB) components are discreet units of functionality in enterprise software terms, so that you can think of it as encapsulating a certain amount of lines of code to achieve a specific outcome. Components have long been something of a 'holy grail' in software coding, as it could be re-usable as well as sold as stand-alone function. EJBs came out in the late 1990s with that same promise and were mildly successful in its first generation. A few small companies even attempted to do business models off of component functionality, often-times aligning with Java application server vendors, such as BEA, Sun, ATG, and Bluestone, which all offered their own forms of EJB applications along with their app server platforms. BEA went so far as to acquire one of the component vendors, called Theory Center, and re-sold Theory Center's EJB components as the BEA WebLogic Commerce Server, which was a very popular way for BEA to demonstrate the application server's core capabilities.
The EJB specification remains the primary standard for Java application server vendors to follow in maintaining the promise of Enterprise Java for portability of applications written to the platforms that support the standard. EJB components also remain a common development paradigm for enterprise development, in terms of how to achieve application and integration development outcomes that can be re-used across a number of projects. The easiest way to think of this is the shopping cart functionality found on e-commerce web-sites. Think if a company has a goal of setting up a B2B commerce site to conduct trading with its many partners. Rather than writing a new shopping cart experience for each trading relationship, the core functionality is written once and re-used across a number of use case scenarios. This is a re-usable component example, as the shopping cart components or set of EJBs would be used for many trading relationships without the need to continuously re-write the same core functionality.
What I propose is a new set of components that could be sold to these enterprise customers that have invested in the EJB standard via their acquisition of application server platforms to serve as e-commerce conduits within IT environments. It is a tested model while also including the promise of continued support by Oracle and its many Java partners. The components would be discreet in terms of functionality, but could be sold as solutions for anything from B2B to B2C to CRM to Supply Chain Management. The target customer is your typical application server acquirer, when they are looking to see what the cloud offers their existing infrastructure, the components would serve as helping hands to get up-and-running more quickly. Components flying around, all centrally managed, but business use cases could also dictate how the components inter-act. A marketing manager could ask the supply chain team to do a query on which components are used most prominently in transactions, and the developer team could build new components or acquire new components to satisfy requirements.
It would take an enormous under-taking to compete with a company that had a head-start on delivering EJBs to the application server customer-base. With some agility, clouds could be the domain of components, and the Java standard would have a foot-hold in to the build-out of this next evolution of information technology strategies. Components, by their very nature, offer a relief from the management complexity of current solutions, while also complimenting installed base platforms, such as ERP. The market is set, the opportunity is there, developers working with focus is what is needed. I can only offer support, it is up to you to seize the chance to put a mark on enterprise software, an established and lucrative market. It may not be your calling at-the-moment, but I would like to put the thought in your brain of remembering back to the very inception of Enterprise Java. Now is the time to fulfill that early promise, EJBs are not dead they have just become boring. With some skill and execution, we could make them cool and useful again. Get a foot-hold on the cloud environments via application servers and components, and there is no telling what other opportunities will come around.