SlideShare ist ein Scribd-Unternehmen logo
1 von 41
The 3-Tier Architecture
Bill Cava
• Chief Evangelist, Ektron
• http://twitter.com/billcava
• bill.cava@ektron.com
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!
what is the 3-tier architecture and are its benefits…

THE WHAT’S & WHY’S
1Tier   2Tier   3Tier   nTier
1-TIER ARCHITECTURE
              • Mainframes
              • Single Machine
              • Dumb Terminal
                access
              • Pro
                 – Simple
              • Con
                 – Expensive
                 – Tightly coupled
2-TIER ARCHITECTURE
           • Client
             – UI, Resources
               Aqcuisition, Business
               Rules
           • Server
             – Data storage, shared
               function
           • Pros
             – Shared resources
           • Cons
             – Managing
               connections, Ineffeci
               ent utilization
3-TIER ARCHITECTURE
• Presentation Tier
  – Front End
  – Display Tier
• Middle Tier
  – Application
    Server
• Data Tier
  – Storage Server
BENEFITS OF THIS ARCHITECTURE

• Security
• Scalability
• Performance
• Availability
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
SCALABILITY
• Each tier
  independently
  scales horizontally
• Scale Presentation-
  Tier to handle
  connections
• Free database to
  handle database
  transactions
PERFORMANCE
• Cache requests
  between FE & MT
  – Serve data from
    memory
  – Minimize network
    utilization
  – Reduce MT and DT
    load
• Load Balancing
  possible at each tier
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
what ektron looks like in a 3-tier architecture

EKTRON & 3-TIER
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
VERSIONS PRIOR TO 8.5
VERSIONS PRIOR TO 8.5
VERSIONS PRIOR TO 8.5
VERSION 8.5
VERSION 8.5
GOING DEEPER INTO EKTRON 3-TIER
MIDDLE-TIER FOOTPRINT




Full Ektron Installation on Middle-Tier:
• Ektron DLLs
• Ektron Workarea
• Ektron Windows Services
• Ektron WCF Services
• Custom WCF Services
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
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
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
DEREK SLIDE
COMMUNICATION FE-MT: WCF




Windows Communication Foundation is
• Used to communitcate between the Presentation-
  Tier and the Middle-Tier.
• Implemented as a Unity container
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
getting things up & running in a 3-tier environment …

INSTALLATION &
CONFIGURATION
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
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
INSTALLATION (CONT’D)
3. Update web.config & point to Middle-Tier

  <appSettings>
     <add
        key="ek_ServicesPath"
        value="http://[MT]/workarea/services/"/>
  </appSettings>
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
development options in a 3-tier environment

DEVELOPING 3-TIER
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
APPROACH #2: DEVELOPING USING APIS
• On the Front-End, use the APIs directly
FREQUENTLY ASKED QUESTIONS
What about …
 – legacy APIs?
 – legacy Server Controls?
 – PageBuilder?
 – Widgets?
 – eSync?
    • data? code?
    • documents, images, etc.?
Questions?

Bill Cava
• Chief Evangelist, Ektron
• http://twitter.com/billcava
• bill.cava@ektron.com

Weitere ähnliche Inhalte

Was ist angesagt?

Differences Between Architectures
Differences Between ArchitecturesDifferences Between Architectures
Differences Between Architectures
prasadsmn
 
Client Server models in JAVA
Client Server models in JAVAClient Server models in JAVA
Client Server models in JAVA
Tech_MX
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
Rence Montanes
 
Chapter2
Chapter2Chapter2
Chapter2
suks_87
 

Was ist angesagt? (20)

3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
3 Tier Architecture
3 Tier Architecture3 Tier Architecture
3 Tier Architecture
 
two tier and three tier
two tier and three tiertwo tier and three tier
two tier and three tier
 
2 tier and 3 tier architecture
2 tier and 3 tier architecture2 tier and 3 tier architecture
2 tier and 3 tier architecture
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
Technical Architectures
Technical ArchitecturesTechnical Architectures
Technical Architectures
 
Differences Between Architectures
Differences Between ArchitecturesDifferences Between Architectures
Differences Between Architectures
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
Client sever architecture
Client sever architectureClient sever architecture
Client sever architecture
 
Overview of 3-tier Client Server Architecture
Overview of 3-tier Client Server ArchitectureOverview of 3-tier Client Server Architecture
Overview of 3-tier Client Server Architecture
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
Client Server Architecture in Database Management System
Client Server Architecture in Database Management SystemClient Server Architecture in Database Management System
Client Server Architecture in Database Management System
 
client server architecture
client server architecture client server architecture
client server architecture
 
Client Server models in JAVA
Client Server models in JAVAClient Server models in JAVA
Client Server models in JAVA
 
3 tierarchitecture-091103063446-phpapp01
3 tierarchitecture-091103063446-phpapp013 tierarchitecture-091103063446-phpapp01
3 tierarchitecture-091103063446-phpapp01
 
Dbms level of architecture2
Dbms level of architecture2Dbms level of architecture2
Dbms level of architecture2
 
Odbc and data access objects
Odbc and data access objectsOdbc and data access objects
Odbc and data access objects
 
Client Server Architecture
Client Server ArchitectureClient Server Architecture
Client Server Architecture
 
Client Server Architecture ppt
Client Server Architecture pptClient Server Architecture ppt
Client Server Architecture ppt
 
Chapter2
Chapter2Chapter2
Chapter2
 

Ähnlich wie Ektron 3-Tier Architecture

enterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdfenterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdf
EidTahir
 
Rouky Martin Resume
Rouky Martin ResumeRouky Martin Resume
Rouky Martin Resume
roukym
 

Ähnlich wie Ektron 3-Tier Architecture (20)

Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2
 
enterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdfenterprisejavaunit-1chapter-2-210914075956.pdf
enterprisejavaunit-1chapter-2-210914075956.pdf
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 
Introduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptxIntroduction and Basics to web technology .pptx
Introduction and Basics to web technology .pptx
 
IBM Notes in the Cloud
IBM Notes in the CloudIBM Notes in the Cloud
IBM Notes in the Cloud
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
New Approaches to Faster Oracle Forms System Performance
New Approaches to Faster Oracle Forms System PerformanceNew Approaches to Faster Oracle Forms System Performance
New Approaches to Faster Oracle Forms System Performance
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
Data center proposal
Data center proposalData center proposal
Data center proposal
 
Service Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications todayService Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications today
 
Ra framework 0.1
Ra framework 0.1Ra framework 0.1
Ra framework 0.1
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
Continuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerContinuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and Docker
 
Whats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product Suite
 
Oracle Forms Introduction
Oracle Forms IntroductionOracle Forms Introduction
Oracle Forms Introduction
 
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
Edge 2016 Session 1886  Building your own docker container cloud on ibm power...Edge 2016 Session 1886  Building your own docker container cloud on ibm power...
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...
 
3tier architecture
3tier architecture3tier architecture
3tier architecture
 
Rouky Martin Resume
Rouky Martin ResumeRouky Martin Resume
Rouky Martin Resume
 
Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...
Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...
Choosing the Best Approach for Monitoring Citrix User Experience: Should You ...
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 

Ektron 3-Tier Architecture

  • 2. Bill Cava • Chief Evangelist, Ektron • http://twitter.com/billcava • bill.cava@ektron.com
  • 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
  • 5. 1Tier 2Tier 3Tier nTier
  • 6. 1-TIER ARCHITECTURE • Mainframes • Single Machine • Dumb Terminal access • Pro – Simple • Con – Expensive – Tightly coupled
  • 7. 2-TIER ARCHITECTURE • Client – UI, Resources Aqcuisition, Business Rules • Server – Data storage, shared function • Pros – Shared resources • Cons – Managing connections, Ineffeci ent utilization
  • 8. 3-TIER ARCHITECTURE • Presentation Tier – Front End – Display Tier • Middle Tier – Application Server • Data Tier – Storage Server
  • 9.
  • 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
  • 15. what ektron looks like in a 3-tier architecture EKTRON & 3-TIER
  • 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
  • 20.
  • 23. GOING DEEPER INTO EKTRON 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
  • 37. development options in a 3-tier environment DEVELOPING 3-TIER
  • 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
  • 39. APPROACH #2: DEVELOPING USING APIS • On the Front-End, use the APIs directly
  • 40. FREQUENTLY ASKED QUESTIONS What about … – legacy APIs? – legacy Server Controls? – PageBuilder? – Widgets? – eSync? • data? code? • documents, images, etc.?
  • 41. Questions? Bill Cava • Chief Evangelist, Ektron • http://twitter.com/billcava • bill.cava@ektron.com