Architecture
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Architecture Planning and designing a successful system Use tried and tested techniques Easy to maintain Robust and long lasting
The DVD Swap Shop Written in VB.NET Suffers from much poor design Available for download from the module web site / blackboard We shall look at a quick demo of what the program does
Maintenance DVD Swap Shop built on Access Not the best choice for an internet application Change to another database e.g. SQL Server DVD.MDB becomes DVD.MDF
The Problem Web page 1 Database Name Web page 2 Web page 3 Web page 4 Data Connection Class Database 100 page site with ten references to the database per page = 1000 changes to the code!
Scalability How many of you have FaceBook or Twitter on your phone? How would we modify the DVD swap shop so there is a phone app that does the same? Re-design the pages However what do we do about the functionality?
Compare the Following Pages
Other Issues to Think About Dealing with International Markets Dealing with Different Computer Platforms
Dealing with International Markets
Amazon Search
Dealing with Different Computer Platforms Mobile Apps - Apple/Android/Windows PCs e.g. iOS / Windows/ Android Linux machines Servers running Apache / IIS What is the technology that makes it possible to support such a range of platforms?
Simple Three Layered Architecture Presentation (Interface) Data Layer Database Middle Tier Business Logic (Objects/Classes)
Benefits : Change Database Technology without Changing the Interface The interface has no knowledge of the structure of the database Middle tier handles communication of data Database technology may be changed with no impact on interface All functionality in the middle tier This means we may bolt on many different interfaces
Benefits : Attach Multiple Presentation Layers (Interface) Web browser Data Layer Database Middle Tier Business Logic (Objects/Classes) Mobile phone app
Benefits : Code re-use and maintenance All important code is stored in the middle layer Any changes made here benefit all parts of the system using it Code only created once so easier to find an maintain
Overview of Finished Address Book
The Presentation Layer
The Middle Layer
The Data Layer