Who Can Benefit
Students who can benefit from this course are those who are responsible for the overall software architecture and design of Java EE technology-based enterprise software systems. These students would also require insight into the role of the enterprise architect and want to use Java EE technologies in n-tier enterprise systems. Existing architects can also benefit from an understanding of how to use Java EE technologies to improve quality of service in their enterprise systems.
Prerequisites
- Describe, in outline form, all Java EE technologies, including Enterprise JavaBeans, servlets, JavaServer Pages, and JavaServer Faces.
- Describe distributed computing and communication concepts
- Perform analysis and design of object-oriented software systems
- Use UML notation for modeling object-oriented systems
Skills Gained
- Make good use of Java EE component technologies to solve typical problems in system architecture
- Derive software systems using techniques outlined in the Java EE Blueprint and solutions defined in the Java EE Patterns catalog
- Address quality-of-service requirements in a cost-effective manner using engineering trade-off techniques
- Describe the role of the architect and the products an architect delivers
- List and describe typical problems associated with large-scale enterprise systems
Course Content
Module 1 - Introducing Fundamental Architectural Concepts
- Understand the challenges of enterprise applications
- Define software architecture
- Understand the need for software architecture
- Understand an architect6's roles, responsibilities, and deliverables
- Understand architecture modeling using the Unified Modeling Language (UML)
- Understand the differences and similarities between architecture and design
- Describe the SunTone(SM) Architecture Methodology
Module 2 - Understanding Systemic Qualities
- Describe the systemic qualities of an enterprise application
- Describe common practices for improving systemic qualities
- Prioritize quality-of-service (QoS) requirements
- Inspect for trade-off opportunities
Module 3 - Examining System Architecture Development Heuristics and Guidelines
- Identify key risk factors in distributed enterprise systems
- Design a flexible object model
- Understand the guidelines of creating a network model
- Justify the use of transactions
- Plan system capacity
Module 4 - Developing an Architecture for the Client Tier
- Describe the roles involved in client-tier development
- Understand Information Architecture client-tier concerns
- Understandhow to select a user interface device that will fit your application requirements
- Describe how reuse can apply to the client tier
- Understandstrategies for deploying Java desktop-based applications
- Be familiar with the security concerns of the client tier
Module 5 - Developing an Architecture for the Web Tier
- Describe the roles involved with the development of the web tier
- Understand the Separation of Concerns
- Describe the strategies for implementing the presentation concerns of the web tier
- Describe the strategies for implementing the data concerns of the web tier
- Describe the strategies for managing the presentation, data, and logic-related concerns of the web tier
- Understand the advantages and disadvantages of request- and component-oriented web-tier frameworks
- Describe strategies for implementing authentication and authorization in the web tier
- Address the concerns of scaling web applications
Module 6 - Developing an Architecture for the Business Tier
- Understand the value in using enterprise application container services
- Describe the architectural options for implementing domain model services
- Describe the architectural options for implementing domain model entities
- Distribute domain model components
- Understand the best practices for exception handling and logging
Module 7 - Developing an Architecture for the Integration and Resource Tiers
- Describe the challenges in Enterprise Information System (EIS) integration
- Describe the roles of the integration tier
- Describe the EIS resource tier
- Review Java integration technologies and best practices
- Apply integration-tier patterns
- Understand how Service-Oriented Architecture (SOA) facilitates system integration
- Describe SOA best practices
Module 8 - Developing a Security Architecture
- Analyze the impact of security in distributed computing
- Understand the security services in Java EE technology
- Understand security requirements for web services
Module 9 - Evaluating the Software Architecture
- Describe architecture evaluation guidelines
- Evaluate Java EE technologies and their applicability
- Create system prototypes
- Understand application server selection criteria




