I think they copied this part for every project , but anyway , i can learn something from it. 说实话,有些我还没看明白.除了打省略号的是从我这边的文档copy过去,略加变了几句外.
1 Design Overview
1.1 Architectural Goals and Constraints
The overall architecture goals of the system is to provide a highly available and scalable ********Application for users, to ********
.
The Travel****Application can be used by travellers -
*********************
A key Architectural goal is to leverage industry best practices for designing and developing a scalable, enterprise-wide J2EE application. To meet this goal, the design of the ****Application will be based on core J2EE patterns as well as the industry standard development guidelines for building the ****Application.
总的看,好像他们是用j2ee做项目
1.2 Guiding Principles
Guiding principles provide a foundation upon which to develop the target architecture for the screening tool, in part by setting the standards and measures that the tool must satisfy. These in turn drive design principles that can be used to validate the design and
ensure that it is aligned with **** overall Architecture, Design Principles and Standards.
1.2.1 Scalable
Scalability is the ability of the platform to scale both up and down to support varying numbers of users or transaction volumes. The application should be able to scale horizontally (by adding more servers) or vertically (by increasing hardware capacity or software efficiency).
1.2.2 Flexible
Flexibility is the ability of the application to adapt and evolve to accommodate new requirements without affecting the existing operations. This relies on a modular architecture, which isolates the complexity of integration, presentation, and business logic from each other in order to allow for the easy integration of new technologies and processes within the application.
1.2.3 Standards-Based
Portal services will comply with established industry standards. The standards-compliance will not only apply to application development but also to design, platform/infrastructure and other parts of the Travel Management application. Examples of standards include HTML, XML, J2EE, and JSP.
1.3 Design Patterns
Design patterns are elements of reusable object oriented software. A design pattern catalog is a repository of design patterns. Use of such patterns makes the design of an application transparent. These patterns have been used successfully by developers in their respective fields, and therefore, the pros and cons of the pattern (as well as implementation issues) are known beforehand. All design patterns are reusable and can be adapted to particular contexts.
Some of the design patterns which will be used in the design and development of the Travel Management Application are -
• Front Controller
• Session Façade
• Business Delegate
• Data Access Object
• Value Object
1.3.1 Front Controller
The Front Controller pattern helps to implement a centralized entry point that controls and manages user (screen) request handling. The controller manages the handling of the request, including invoking security services such as authentication and authorization, delegating business processing, managing the choice of an appropriate view, handling errors, and managing the selection of content creation strategies.
1.3.2 Session Facade
The Session Façade pattern (using a session bean as a façade) helps to encapsulate the complexity of interactions between the business objects participating in a workflow. It manages the business objects, and provides a uniform coarse-grained service access layer to clients, that expose only the required interfaces.
1.3.3 Business Delegate
The Business Delegate pattern helps to reduce coupling between presentation-tier clients and business services. The Business Delegate hides the underlying implementation details of the business service, such as lookup and access details of the EJB architecture. Technical Design Document Page 8 of 32
1.3.4 Data Access Object
The Data Access Object pattern helps to decouple the session EJB layer from the database thus increasing the portability of the application.
1.3.5 Value Object
The Value Object design pattern, also known as the Data Transfer Object, efficiently transfers remote, fine-grained data by sending a coarse-grained view of the data. This design pattern will be used for the communication between the middle tier and the back end.
1.4 Design Principles
Best practices and design principles will be applied in two main areas –
1) Presentation Services to individual desktops should be uncoupled -
a) Presentation services are delivered to a web browser rather than to custom client software. A range of modern browsers that support HTML, DHTML, and XML are required.
b) A common look and feel for Travel Management application.
c) Client side JavaScript should be used for validating user input and prevent round trips between the browser and the server
d) The Travel Management Application user interface will be designed in such a way that common user interface functionality will be implemented in a similar manner across the board. Examples of this include –
• A consistent way of capturing date inputs
• A uniform way of displaying informational and error messages to the users
• A uniform way of displaying required and optional fields in the screens.
2) Business Rules should be encoded within the application development framework-
a) Business rules will need to be separated from the presentation and database frameworks
b) Server applications are based on event-based systems. Complex server side event cascades will need to be supported.
c) Standard frameworks for encoding business rules and events will need to be used.
d) Adoption of a component based framework needs to be considered to promote reuse of information objects.
2. Topology Diagram
The diagram below provides an illustration of the System Architecture along with various system components that will be used in architecting the Travel Management application -
Fig 1: Topology Diagram
Interaction of software components along with its responsibilities is explained below -
Web Server – Web server is responsible for serving web pages, mostly HTML pages, via the HTTP protocol to clients. The Web server sends out web pages in response to requests from browsers. A page request is generated when a client clicks a link on a web page in the browser.
JBOSS Application Server – Application server hosts the Online Screening application and hosts the business logic and the business model classes of applications. It serves requests for dynamic HTTP web pages from Web servers.
MySQL Database – Travel database stores the User data, travel trip data in relational format.
HTTP - Hyper Text Transport Protocol is the communication protocol used to connect to servers on the World Wide Web. The primary function of HTTP is to establish a connection with a Web server and transmit HTML pages to the user's browser.
JDBC – Java Database Connectivity is an application program interface (API) specification for connecting programs written in Java to the data in popular databases. The application program interface lets you encode access request statements in structured query language (SQL) that are then passed to the program that manages the database. It returns the results through a similar interface.
XML - A programming language/specification developed by the W3C, for organizing and tagging elements of a document so that the document can be transmitted and interpreted between applications and organizations.
3. Application Architecture
Application architecture defines the various components and their interactions in context of a whole system. Application architecture is the critical software that bridges the architectural gap between the application server and the application’s business logic, thereby eliminating the complexities and excessive costs of constructing, deploying and managing distributed enterprise applications.
The Online Screening Tool will have a layered application architecture which provides some of the key features below –
STRUCTURE: Organizing applications along business-level boundaries and not technical boundaries SPEED & FLEXIBILITY: Making application changes through configuration and not programming CONTROL: Modifying, extending or overwriting any architectural element. REUSE: Achieving greater reusability and integration by loosely coupling application logic to infrastructure.
At a conceptual level, they represent distinct and cohesive aggregations of functionality. The Online Screening Tool design is based on a tiered approach. “A tier is a logical partition of the separation of concerns of the system. Each tier is assigned its unique responsibility in the system. We view each tier as logically separated from one another. Each tier is loosely coupled with the adjacent tier.” The Online Screening Tool architecture can be represented in the following layers illustrated by the diagram below:
3.1 Presentation and Content Layer
The Client Tier represents the point at which data is consumed by the system’s users which include online users as well as external systems.
3.1.1 Presentation Layer
A standard Internet Browser such as Internet Explorer is the primary client for the online Screening application. HTML pages are delivered to the client browser by the Travel Management application upon a user request. The Web Pages support Chinese and English as user languages.
3.1.2 Content Layer
The content layer as the name signifies is the front-end information layer that the end-user interacts with. Data-to-content conversion and Content-to-data conversion are the two primary responsibilities of this layer. Any application that is created will use the common framework components to implement the primary responsibilities using the technology that seem most appropriate for that application. Choice of technology for this layer would range from plain HTML to a Java-HTML combination to an application.
3.2 Business Objects Layer
The Business layer will implement the business rules for the application. It will host the business service components as well as business objects (BO). These Business Services include Enterprise Java Beans and the BO’s include the dependent JAVA classes that will provide service API’s to the business rules and operations required by the application. Business components are software units, and process business logic.
The business components will implement the following:
分享到:
相关推荐
"Indian-Sign-Language-Recognition-master.zip_Sign to voice_sign l"这个项目,旨在打破正常人与聋哑人之间的沟通障碍,通过手语识别技术,将手语转化为语音,实现“Sign to Voice”的无障碍交流。 手语识别是...
In an easy to use dictionary style of A–Z presentation, this volume lists the taxonomy and medicinal usage of Indian plants. Also given are both traditional Indian and international synonyms along ...
"Indian_pines"数据集源于美国印第安宾夕法尼亚州的一片农田,由航空航天与环境科学实验室(NASA's Airborne Visible/Infrared Imaging Spectrometer, AVIRIS)在1992年采集。这个数据集包含了220个波段的光谱信息,...
免费下载:Ammu Indian Home-Cooking to Nourish Your Soul (Asma Khan) _LxUEl
All-indian-States-and-cities-datdabase-sql 创建数据库“test”..并将这个“database.sql”文件导入其中.. 该项目正在开发中..欢迎所有拉取请求。
标题中的“Semantic-Segmentation-on-Indian-Driving-Dataset”是指一项使用深度学习技术进行语义分割的任务,特别是在印度驾驶场景的数据集上。语义分割是计算机视觉领域的一个关键问题,它涉及到将图像的每个像素...
"Indian_pines.mat" 是一个在图像处理领域中广泛使用的高光谱数据集,尤其针对科研人员和大学生的毕业论文研究。这个数据集以它的独特性和实用性,在图像分析、模式识别及机器学习等多个领域中占据着重要的地位。 ...
遥感图像数据集.mat文件
`django-indian-numbers` 是一个针对Python的Django框架开发的微型可重用应用,专门设计用于在印度数字系统(Indian Number System)中格式化数字。这个应用扩展了Django模板语言的功能,引入了过滤器,使得开发者...
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 标签格式(也可转成voc格式):<class> <x_center> <y_center> ...
joseph-jacobs_indian-fairy-tales
This scene was gathered by AVIRIS sensor over the Indian Pines test site in North-western Indiana and consists of 145\times... Indian Pines data are available through Pursue's univeristy MultiSpec site.
在本资源中,我们主要关注的是使用K-均值聚类算法对Indian Pines高光谱图像进行非监督分类的过程。高光谱成像是遥感技术的一种,它能提供连续的光谱信息,覆盖多个窄波段,这使得我们可以深入分析地物的特性。 ...
This scene was gathered by AVIRIS sensor over the Indian Pines test site in North-western Indiana and consists of 145\times... Indian Pines data are available through Pursue's univeristy MultiSpec site.
在本项目"Data-Analysis-Indian-Metro"中,我们将探讨如何使用Jupyter Notebook进行探索性数据分析(EDA),特别是针对印度地铁交通数据的可视化。Jupyter Notebook是一种交互式计算环境,它允许用户结合代码、文本...
"KE-from-Indian-Languages" 是一个项目或资源包,其名称表明它可能与印度语言相关的自然语言处理(NLP)工作有关,特别是关注“KE”这个缩写的领域。在NLP中,“KE”通常指的是知识提取(Knowledge Extraction),...
印度手语识别交流对人类非常重要,因为它促进了知识的传播并形成了人与人之间的关系。 我们通过语音,面部表情,手势,阅读,书写或绘画等进行交流。但是语音是最常用的交流方式。 但是,有听力和语言障碍的人只能...
LDView下载即实例
资源分类:Python库 所属语言:Python 资源全名:indian_names-0.3-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
本文将深入探讨一个专门针对印度车辆号码板识别的项目——"Indian-Vehicles-Number-Plate-Recognition",并结合Jupyter Notebook这一强大的数据分析和开发工具进行解析。 一、项目背景与目标 “Indian-Vehicles-...