What Is System Architecture?
There are many different definitions of the word architecture. Webster's definition is "the art or science of building." Webster's computer industry definition of architecture is "the manner in which the components of a computer or computer system are arranged and integrated." This chapter presents a variation of Webster's definition of architecture with the remainder of the book re-enforcing this definition.
Creating an architecture to build a system has increased ten-fold in the last couple of years, due to the growth of the Internet. Before the Internet explosion, an architect created an architecture to handle the internal users of the company, which could number in the hundreds. However, the Internet has opened a company's computing resources to their customers, which means the architect must now create a system architecture that can handle thousands of users with unpredictable usage patterns. If your systems do not perform and meet the expectations of the customers, then these customers will find other companies with systems that can handle their expectations. Therefore, the architectures you create can have a direct impact on your company's bottom line.
In an attempt to keep this book from getting larger than the dictionary, it assumes a certain level of knowledge for the readers. If you do not have the prerequisite knowledge, you must gain this knowledge elsewhere before proceeding with this book. This book assumes the following prerequisites:
You understand object-oriented concepts, such as encapsulation, inheritance, polymorphism, and interfaces.
You have programmed in an objected-oriented language, preferably the Java programming language.
You have designed object-oriented programs and systems.
You are using this book to prepare for the Sun Certified Enterprise Architect (SCEA) for Java 2 Platform, Enterprise Edition Technology exam.
Becoming a full-fledged system architect requires many years of real world experience creating architectures and designing systems. This book will provide you with the knowledge you need to start gaining that valuable experience, as well as prepare you to become a Sun Certified Enterprise Architect for Java 2 Platform, Enterprise Edition (J2EE) technology.