惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
V
Vulnerabilities – Threatpost
Cloudbric
Cloudbric
G
GRAHAM CLULEY
S
Securelist
Schneier on Security
Schneier on Security
Help Net Security
Help Net Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Project Zero
Project Zero
Spread Privacy
Spread Privacy
P
Privacy International News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
T
Tailwind CSS Blog
博客园_首页
有赞技术团队
有赞技术团队
Simon Willison's Weblog
Simon Willison's Weblog
Stack Overflow Blog
Stack Overflow Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Latest news
Latest news
T
Tor Project blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Attack and Defense Labs
Attack and Defense Labs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
O
OpenAI News
J
Java Code Geeks
T
Tenable Blog
K
Kaspersky official blog
AWS News Blog
AWS News Blog
S
Security @ Cisco Blogs
The GitHub Blog
The GitHub Blog
T
Threatpost
月光博客
月光博客
H
Heimdal Security Blog
Security Latest
Security Latest
The Hacker News
The Hacker News
Y
Y Combinator Blog
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
C
Cisco Blogs
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
C
CERT Recently Published Vulnerability Notes
D
Docker
Google Online Security Blog
Google Online Security Blog
D
DataBreaches.Net
V
Visual Studio Blog
H
Help Net Security

博客园 - lifz

捕获asp.net下的未处理异常 延迟加载的一般实现 (ZT)在Struts中使用Validator框架 业界内广为流传的关于项目管理的通俗讲解 IPM 认识到单元测试的重要性 项目小结 SQL Server多事务并发问题 4xx: Client Error 使用者端(浏览器)错误讯息 Audit审计 加密技巧 COM+组件提供的企业级服务 Stored Procedure Temp Table Excel Template Export .NET企业服务器要点 jsp页面请求过程 asp.net页面处理过程 How to J2EE Asp.net Authorization Asp.net Authentication
An n-tiered Approach of Asp.Net
lifz · 2005-09-15 · via 博客园 - lifz
 

The Barnes & Noble fulfillment and distribution system takes full advantage of n-tiered distributed application architecture. Separating between presentation, business logic, and data tiers, which share services and communicate using the Component Object Model (COM), helped significantly decrease time to market.

The presentation tier presents customer service applications made up of Active Server Pages hosted in a browser talking to the middle tier. It presents forms created with Microsoft Visual Basic® for Applications and integrated with Microsoft Internet Information Services 5.0 (IIS) and custom dynamic hypertext markup language (DHTML) user interfaces.

COM+ components residing in the business logic tier perform a variety of functions, such as preparing orders, authorizing credit cards, shopping for suppliers, and communicating with the automated plant floor machinery that ships products. MSMQ processes each of these steps. Each component receives instructions from its inbound queue, completes its processing task, and then sends a message to the queue of the next component. Orders can be dispatched to multiple order processors and to components running on other computers, offering virtually unlimited scalability.

The ability of COM+ and MSMQ to automate multi-step transactions not only saves time and labor, but also dramatically increases Barnes & Noble.com's order-processing capacity. For example, the company's custom-built warehouse management system automatically controls the flow of orders coming in, provides the person on the warehouse floor with a printed invoice for picking and packing, then sends a message to the shop-floor equipment to print the shipping label.

One of the most unique pieces of business logic is the smart shopping and shipping component Barnes & Noble.com developed using the Microsoft Visual Studio® development system. This component enables the system to select automatically the distribution center for the ordered item and determine the easiest, fastest, and most cost-effective way to ship it from that location.

When an order includes items assembled from different locations, smart shopping and shipping determines the best way to handle it. "If we have a book coming from the Barnes & Noble, Inc. distribution center and music coming from another location, the system figures out the best way to proceed," explains Peterson. "Do we ship it separately? Do we consolidate all items in one place? The system automatically determines the best arrangement to meet the promised delivery date and the expectation levels of our customers."

All order information goes from the front-end Web servers into a Shop DB database running on SQL Server 7.0. That database is replicated to a mirrored database on the back end. The data tier consists of the main online transaction processing (OLTP) database on SQL Server 2000 and a data warehouse for reporting.

The distributed database system is based on a hub-and-spoke design. The hub includes all the orders coming in from the Shop DB database plus the central Customer Service System. The spokes point to the distributed transactional databases at each vendor site.

Order data from the replicated Shop DB database on the back end is transferred to a SQL Server 2000 database in the hub, using SQL Server replication and MSMQ. Then, based on the content, the order is automatically sent to the appropriate vendor database on the extranet, using MSMQ. The order is pulled out of the appropriate vendor sites and the results are sent back to the hub system.

Using a custom-built MSMQ application, the system extracts data from the SQL Server 2000 database and pulls it into the SAP R/3 system. Data is also drawn from the SQL Server 2000 database and imported into the data warehouse, where it is analyzed using custom-built applications.

The back-end system is composed of Compaq ProLiant 8500R eight-way servers and Compaq ProLiant 6400R servers maintained in clustered pairs. The main hub databases run on Compaq StorageWorks RA1200 Fibre Storage Units. The solution was built in about eight months, using the Visual Studio development system.

 http://www.microsoft.com/resources/casestudies/casestudy.asp?CaseStudyID=10633