Notes
Slide Show
Outline
1
 
2
Middleware J2EE Reference Architecture(s)
3
Executive Summary
  • Identify current and proposed (i.e. new enterprise project) reference architectures
  • Document architecture designs in order to establish enterprise-wide middleware standards
  • Provides high-level view and examples of representative architectures
  • Introduce a key reference architecture concept “the design pattern”
4
Glossary
  • J2EE - Jave 2 Enterprise Edition
  • EJB - Enterprise Java Bean
  • MDB - Message-driven Bean
  • BMP - Bean Managed Persistence
  • CMT - Container Managed Transactions
  • JMS - Java Messaging Service
  • CU - Common Utilities
  • WSAD – WebSphere Studio Application Development


5
Key Requirements
  • Based on hardware direction,  define software architecture standards for an application development centered on J2EE technologies
  • Facilitate repeatable designs in order to enhance programmer productivity
  • Identify performance-oriented application constructs
  • Minimum design complexity in order to reduce application maintenance cycles



6
Establishing Reference Architecture(s)
  • A Reference Architecture is a starting point for architectural development. *
  • The use of tested Reference Architectures is an effective way to address non-functional requirements, by selecting existing architectures *
  • A Reference Architecture is a set of design patterns proven for use in a particular business or technical context. These artifacts are usually harvested from previous projects *
  • The key to a well defined Reference Architecture is well-defined patterns
7
…based on Design Patterns
8
Example 1: SQL Bean Pattern
  • This is a very simple design pattern for retrieving data from a database that includes two classes – SelectOrder and OrderRows
  • SelectOrder has behavior for binding with a DataSource and executing an SQL statement.
  • OrderRows serves as a local container for the SQL result set
  • The classes for this pattern were generated using a WSAD wizard
9
Example 2: Model-View-Controller
  • Model-View-Controller pattern splits application into three distinct roles
  • Within the MVC Pattern there are, essentially, sub-architectural layers
  • For example, the Model layer can be further sub-divided into business and data access (synchronous and asynchronous) layers
  • Common Utilities include fundamental software architect design patterns for logging, exception handling, getting database connections, etc.
  • Standard application patterns are being used within a number of enterprise applications, such as, Mainframe Migration, Membership, Fraud and Contact History
  • The pattern matrix on following page is used to identify the appropriate patterns based on an application processing style requirements
10
Possible Design Patterns
11
High-performance OLTP
12
Medium-performance OLTP
13

Sequence Diagram -- FastLane  Reader
14
High-performance Data Inquiry
15
Complex Synchronous Data
16
Batch Data Processing
17
Asynchronous High-performance
18
Appendix
  • Lightweight architecture patterns exist and will continue to grow and be updated as patterns are harvested or new patterns are introduced. Lightweight Architecture patterns available at the WebSphere Best Practices site
  • User Interface Architecture available at the  WebSphere Best Practices site