|Venue:||INETS, 2 Floor Chuang's Enterprise Building, 382 Lockhart Road, Wanchai|
|Topic:||An Introduction to Enterprise JavaBeans (EJB)|
|Speaker:||Dr. S.C. Cheung, Strategus Partners|
Dr. S.C. Cheung gave an entertaining and informative introduction to Enterprise JavaBeans at the May 2001 meeting of the Hong Kong Java User Group. As well as providing an overview of the technical features of EJB (lifecycle management, security, transactions and so forth) along with code examples, S.C. gave us some useful insights into the software development process and the relevance of component-based architectures. He started off by posing the question "What is a component?" and argued that trends in software engineering--from Fortran and GOTO, to structured programming and procedures, to object-oriented and component-based programming--all address one fundamental problem, that of managing the complexity of software projects, by applying ever-greater discipline to the software development process. According to S.C., the essential difference between components and classes is that component-based architectures aim to minimize dependencies between components, hence making components more reusable than classes. He defined a component as "a deployment unit that provides a business service to its clients", and outlined four factors for successful component reuse: packaging, integration, legacy support (the audience enjoyed S.C.'s definition of legacy systems as "systems that work"), and robustness. While acknowledging that J2EE and EJB are very marketable skills for developers, S.C. stressed that EJBs are not necessarily the right solution for every project. He made the interesting point that, rather than rushing to use EJBs, we might do better to study the underlying design patterns of the EJB architecture and figure out how to apply those patterns to our own projects. In other words, EJB is optional, but design patterns are a must.