3. AGENDA & OVERVIEW
• What’s New in 8.5: 3-Tier Architecture
• Benefits
Scalability, Performance, Security, Availabilit
y
• Ektron in a 3-Tier Architecture
– Installation & Configuration
– Developer Experience
• Framework API: New API in v8.5
• Framework UI: Templated .NET Server Controls
– Implementing your Service Layer
• Demo!
4. what is the 3-tier architecture and are its benefits…
THE WHAT’S & WHY’S
10. BENEFITS OF THIS ARCHITECTURE
• Security
• Scalability
• Performance
• Availability
11. SECURITY
• Publically accessible
Presentation-Tier has
no direct access to
Data-Tier
• Business Logic
contained w/in
Middle-Tier isolated
• Structure of database
hidden from
Presentation-Tier
12. SCALABILITY
• Each tier
independently
scales horizontally
• Scale Presentation-
Tier to handle
connections
• Free database to
handle database
transactions
13. PERFORMANCE
• Cache requests
between FE & MT
– Serve data from
memory
– Minimize network
utilization
– Reduce MT and DT
load
• Load Balancing
possible at each tier
14. AVAILABILITY
• Redundancy of
presentation-Tier
and Middle-Tier
servers for failover
• Caching between
FE & MT means
system continues to
serve content if
Middle-Tier
unavailable
16. EKTRON STILL SUPPORT 2-TIER!
• You can upgrade from < 8.5 to 8.5
– This is supported and will continue to work
– Upgraded site will be 2-Tier
– Upgrading to 8.5 does NOT make your site “3-Tier”
• You can develop a new site on v8.5 using 2-
Tier
– Standard approach for building a website
• You can develop a new site on v8.5 using 3-
Tier
24. MIDDLE-TIER FOOTPRINT
Full Ektron Installation on Middle-Tier:
• Ektron DLLs
• Ektron Workarea
• Ektron Windows Services
• Ektron WCF Services
• Custom WCF Services
25. PRESENTATION-TIER FOOTPRINT
Minimal Footprint on Front-End
• Standard ASP.NET Web site
• Minimal set of Ektron.DLLs in ~/bin
• Configuration files (web.config, unity.config)
• Workarea not required
26. DEVELOPER EXPERIENCE
Developer Experience on Front-End
• Use Framework API & databind
• Use Templated Server Controls
• No difference in developer experience between the
2-Tier and 3-tier architectures
• Same exact code syntax
27. UNITY – DEPENDENCY INJECTION
Unity Application Block – Dependency injection
framework; Part of MS Enterprise Library
• Dynamically register dependencies at runtime
• Introduction to Unity http://msdn.microsoft.com/en-
us/library/dd203319.aspx
• Single unity.config on Front-End servers
29. COMMUNICATION FE-MT: WCF
Windows Communication Foundation is
• Used to communitcate between the Presentation-
Tier and the Middle-Tier.
• Implemented as a Unity container
30. CACHING LAYER
The Caching Layer
• Caches all data retrieved from the middle-tier in
memory on the servers in the presentation-tier
• Caching is implemented as another Unity container
• Is configured within the Unity config
31.
32. getting things up & running in a 3-tier environment …
INSTALLATION &
CONFIGURATION
33. BASIC INSTALLATION
Middle Tier & Data Tier
• Perform full Ektron installation on the Middle-
Tier / Data tier server using
CMS400Basev85.exe (no difference)
– Note: In 8.5 RC installation should be performed on the
website root
– As part of the installation, the 3TierMin site will be installed
to: C:Program Files
(x86)EktronCMS400v85startersites3TierMinContent
34. INSTALLATION
Presentation-Tier
1. From Middle-Tier, copy folder C:Program Files
(x86)EktronCMS400v85startersites3TierMinCo
ntent to your web directory on the Presentation
Tier server
– This folder contains elements for a minimal-footprint front-end
site, containing subset of DLLs from Middle-Tier to Presentation-Tier
server
• Which DLLs you need depends on which features you use
• This documentation describes which DLLs are required
http://bit.ly/ektron-3tier-installation-doc
• Note: not an issue to “just grab them all” -- even though you wont need
them all -- and pair it down later
2. Open IIS on Presentation Tier server and make this
folder a Web Site
35. INSTALLATION (CONT’D)
3. Update web.config & point to Middle-Tier
<appSettings>
<add
key="ek_ServicesPath"
value="http://[MT]/workarea/services/"/>
</appSettings>
36. INSTALLATION (CONT’D)
4. Browse to http://[FE]/default.aspx
– You should be able to log into your front-end using any
account defined within Ektron (Admin/Admin, etc).
5. Deploy your own templates and code to
the Presentation-Tier
That’s it!
… now let’s walk through the code footprint
on the Front-End
38. TWO APPROACHES TO DEVELOPING IN 3-TIER
1. Use Framework APIs and/or Templated Server
Controls directly on the Presentation-Tier Server
– Pros: Simpler (previous installation, ready to go)
– Cons: Chattiness of API calls over wire
2. Designing your own Service Layer on the Middle-
Tier, consuming those services on the Presentation-
Tier Server
– Pros:
• Designing a Service Oriented Architecture (SOA)
• Leveraging Middle-Tier for its strength
– Con: A little more complex to set up