1.2. Enterprise Computing DemystifiedEnterprise computing has a reputation for complexity and, for the uninitiated, is often shrouded with mystery. Here are some reasons enterprise computing can seem intimidating:
Java helps to alleviate these intimidating aspects of enterprise computing. First, since Java is platform-independent, the heterogeneous nature of the network ceases to be an issue. Second, the J2EE framework forms a single, standard layer on top of various proprietary or vendor-enhanced APIs . For example, the Servlet API and the JavaServer Pages API comprise a single, standard, well-defined way to implement web interfaces, regardless of the application server, web server, operating system, or hardware being used. Third, the Java and J2EE frameworks provide an excellent foundation on which you can layer other, nonstandard but compatible tools. Standards can cover only part of the enterprise application landscape, and there will always be valuable utilities developed by the business and developer communities that fall outside of the standards. A standardized framework provides a stable, formally managed backdrop for using these utilities without compromising the portability promises of Java and J2EE. Finally, recall that many enterprise protocols and standards were developed before the days of object-oriented programming. The object-oriented power and elegance of the Java language make the Java Enterprise APIs simpler, easier to use, and easier to understand than the non-Java APIs and protocols upon which they are layered. Our message to you, and the central tenet of this book, is the following:
With that said, it is important to understand that distributed enterprise computing actually is somewhat more complicated than local computing. Just as using threads in a program introduces complexities that don't exist in single-threaded programs, using distributed services in a program introduces complexities that don't exist in programs that run entirely on one computer. And just as developing a rapport with one person is much easier than arriving at a consensus with a crowd, dealing with the vagaries of an entire enterprise is much more challenging than satisfying the needs of a small department in an organization. Do not fear, however: the complexities of distributed, enterprise computing really don't have to be overwhelming, and with a little study, any programmer can master them. |