Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
627,34 KB
Nội dung
Architecture Strategies and BestPractices for Server-Side J2EE Development Darren Broemmer copyright 2002-3 Darren Broemmer Guiding Principles copyright 2002-3 Darren Broemmer Elements of Transactional, Web- Based Business Applications Business applications share many common characteristics This analysis forms the basis of the software architecture From these commonalities, you can derive the software layers and component types The reference architecture is based on a mapping of this analysis to J2EE copyright 2002-3 Darren Broemmer The Structure of Business Applications copyright 2002-3 Darren Broemmer Business Entities The ‘things’ a business deals with Range from high-level entities such as Customer down to lower-level entities such as Purchase Order or Line Item Common characteristics Behaviors Properties Relationships with other Entities Rules or policies copyright 2002-3 Darren Broemmer Business Processes The processes used to carry out the work of the business Defined workflow Involve business entities as participants Need to be executed in a secure manner Comprise units-of-work Accessible from different clients Internal/External clients Browser-based applications Wireless devices B2B Web-Service clients copyright 2002-3 Darren Broemmer User Interaction Providing users access to services and processes Application presentation (i.e. HTML/XML over HTTP) Access to business functions and services Static and dynamic content Screen flow, or page navigation Forms processing Error handling Includes user interface, interaction with web service clients, etc. copyright 2002-3 Darren Broemmer Reference Architecture (PIM): Realization of Bus. App. Analysis copyright 2002-3 Darren Broemmer Usage of Design Patterns Patterns provide a foundation of proven, reusable solutions Model-View-Controller (MVC) GoF Design Patterns Sun’s Core J2EE Patterns Reference architecture is largely defined by the interaction of a number of design patterns Variations of many existing patterns as applied to J2EE copyright 2002-3 Darren Broemmer Architectural (or Large-Scale) Design Patterns Layered Architecture Logical software layers that isolate and modularize responsibilities Building-block type approach that requires only knowledge of adjacent level directly below given layer Model-View-Controller (MVC) Proven object-oriented pattern used for applications with graphical user interfaces Separation of concerns between content, presentation logic, and business logic Common functions can be automated (i.e. Struts) [...]... (Model-Driven Architecture) copyright 200 2-3 Darren Broemmer Performance and Scalability Java, the language itself, starting to approach C/ C++ performance, particularly on server side Due to aggressive Just-In-Time (JIT) compilers Enterprise Java services, however, add another level of overhead Must weigh the benefits vs the performance costs Example: Entity Beans not ideal for fine-grained... 200 2-3 Darren Broemmer Metadata-Driven Components Metadata is input to automated, configurable common functions Run-time libraries Development-time code generation Industry trend is evident Most component architectures are defined in part by metadata (EJB, Struts, O/R mapping tools, etc.) Most UML design tools now support XMI (XML Metadata Interchange) JSR-40 – Java Metadata Interface... copyright 200 2-3 Darren Broemmer Application Exception Hierarchy copyright 200 2-3 Darren Broemmer The “Save” Template Part of standard BusinessObject interface May or may not include actual persistence (for example, CMP Entity Beans) Typically used for the following purposes: Property and object-level validation integrated with transaction management Manipulation of aggregated objects Pre-save... implementation classes extend VO implementation classes copyright 200 2-3 Darren Broemmer BO & VO Class Diagram copyright 200 2-3 Darren Broemmer Object Validation and Error Handling Types of validation & implementation Data Type (ex Characters in numeric field) Required field checking Reusable PropertyHandler mechanism Object-level (ex account balance > $50) BO, VO Base class – validate... Mapped to J2EE copyright 200 2-3 Darren Broemmer Automating Common Functions From the analysis of transactional, webbased business applications: Common characteristics can be implemented through configurable, extendible foundation components A Business Logic Foundation (BLF) enables: Higher level of quality Consistency Less duplication of effort, faster development times copyright 200 2-3 Darren... CommonException; copyright 200 2-3 Darren Broemmer Configuring Property Handlers Can use metadata to configure property handlers and subclasses of BaseBusinessObject Defining Property Handlers . and Best Practices for Server-Side J2EE Development Darren Broemmer copyright 200 2-3 Darren Broemmer Guiding Principles copyright 200 2-3 Darren Broemmer Elements of Transactional, Web- Based. manner Comprise units-of-work Accessible from different clients Internal/External clients Browser-based applications Wireless devices B2B Web-Service clients copyright 200 2-3 Darren Broemmer User. analysis to J2EE copyright 200 2-3 Darren Broemmer The Structure of Business Applications copyright 200 2-3 Darren Broemmer Business Entities The ‘things’ a business deals with Range from high-level