Developing Architectures for Enterprise Java Applications (SL-425)
This course provides you with the knowledge needed to develop robust architectures for enterprise Java applications using the Java Platform, Enterprise Edition (Java EE) technology. The Enterprise Java applications developed using the architecture as a guideline can accommodate rapid change and growth. By taking this course, you gain an understanding of the technical context of the Java EE and relevant technologies and strategies needed to create application blueprints that work well when implementing Java EE technologies. These strategies include effective decision-making through the use of systemic qualities (such as scalability and flexibility), Java EE technology blueprints, and design patterns.
What You'll Learn
- 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
- The role of the architect and the products an architect delivers
- Typical problems associated with large-scale enterprise systems
Who Needs to Attend
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
To succeed fully in this course, students should be able to:
- 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
Follow-On Courses
There are no follow-ons for this course.
Course Outline
1. Introducing Fundamental Architectural Concepts
- Challenges of enterprise applications
- Define software architecture
- The need for software architecture
- Architect's roles, responsibilities, and deliverables
- Architecture modeling using the Unified Modeling Language (UML)
- Differences and similarities between architecture and design
- SunTone(SM) Architecture Methodology
2. Understanding Systemic Qualities
- Systemic qualities of an enterprise application
- Common practices for improving systemic qualities
- Prioritize quality-of-service (QoS) requirements
- Inspect for trade-off opportunities
3. Examining System Architecture Development Heuristics and Guidelines
- Identify key risk factors in distributed enterprise systems
- Design a flexible object model
- Guidelines of creating a network model
- Justify the use of transactions
- Plan system capacity
4. Developing an Architecture for the Client Tier
- Roles involved in client-tier development
- Information Architecture client-tier concerns
- How to select a user interface device that will fit your application requirements
- How reuse can apply to the client tier
- Strategies for deploying Java desktop-based applications
- Security concerns of the client tier
5. Developing an Architecture for the Web Tier
- Roles involved with the development of the web tier
- Separation of Concerns
- Strategies for implementing the presentation concerns of the web tier
- Strategies for implementing the data concerns of the web tier
- Strategies for managing the presentation, data, and logic-related concerns of the web tier
- Advantages and disadvantages of request- and component-oriented web-tier frameworks
- Strategies for implementing authentication and authorization in the web tier
- Concerns of scaling web applications
6. Developing an Architecture for the Business Tier
- Value in using enterprise application container services
- Architectural options for implementing domain model services
- Architectural options for implementing domain model entities
- Distribute domain model components
- Best practices for exception handling and logging
7. Developing an Architecture for the Integration and Resource Tiers
- Challenges in Enterprise Information System (EIS) integration
- Roles of the integration tier
- The EIS resource tier
- Review Java integration technologies and best practices
- Apply integration-tier patterns
- How Service-Oriented Architecture (SOA) facilitates system integration
- SOA best practices
8. Developing a Security Architecture
- Analyze the impact of security in distributed computing
- Security services in Java EE technology
- Security requirements for web services
9. Evaluating the Software Architecture
- Architecture evaluation guidelines
- Evaluate Java EE technologies and their applicability
- Create system prototypes
- Application server selection criteria
United States [