eg-259:lecture20
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
eg-259:lecture20 [2013/04/16 07:01] – [Learning Outcomes (continued)] eechris | eg-259:lecture20 [2013/04/16 07:21] (current) – [Market Impact] eechris | ||
---|---|---|---|
Line 75: | Line 75: | ||
- | ===== Three-tiers are not enough! | + | ===== Three-tier Applications |
- | * "Three-tier" | + | * Client-server applications are quite often defined as " |
{{eg-259: | {{eg-259: | ||
Line 83: | Line 83: | ||
---- | ---- | ||
- | Each tier may exist on the same physical host or may be separated by a network connection. | + | The idea of this architectural structure is that each tier can independently developed and changed if necessary. Thus the client is independent of changes to the server and the server is itself independent of the database. |
+ | |||
+ | ===== Three-tiers Are Not Enough! ===== | ||
+ | |||
+ | |||
+ | * " | ||
+ | |||
+ | {{eg-259: | ||
+ | |||
+ | |||
+ | ---- | ||
+ | In the case of the web implementation of the client tier in which part exists in a web browser separated from a web server by a network connection. In the latter situation it is most likely that the middle tier will be co-located with the web server, but it doesn' | ||
===== The Client (Web) Tier ===== | ===== The Client (Web) Tier ===== | ||
Line 107: | Line 118: | ||
* HTTP response URIs need to be converted into some form of application request. | * HTTP response URIs need to be converted into some form of application request. | ||
- | * suitable HTTP responses need to be generated to support all the layers of the client model, i.e. XHTML, CSS and JavaScript. | + | * suitable HTTP responses need to be generated to support all the layers of the client model, i.e. HTML, CSS and JavaScript. |
* The need so provide support for issues, such as authentication, | * The need so provide support for issues, such as authentication, | ||
Line 118: | Line 129: | ||
* The database itself is defined and accessed using SQL, variations of which exists for each database implementation | * The database itself is defined and accessed using SQL, variations of which exists for each database implementation | ||
- | * The //data access layer// provides a layer of separation that allows the application developer to effectively embed SQL appropriately within the programming language that is being used to host the application. For example we have already seen how this is done for PHP. | + | * The //data access layer// provides a layer of separation that allows the application developer to effectively embed SQL appropriately within the programming language that is being used to host the application. |
+ | See the [[eg-259: | ||
===== The Middle Tier ===== | ===== The Middle Tier ===== | ||
Line 159: | Line 171: | ||
* HTML/CSS version of application model | * HTML/CSS version of application model | ||
* database version of application model | * database version of application model | ||
- | * HTTP version of application model | + | * JSON version of application model |
* JavaScript version of the application model | * JavaScript version of the application model | ||
* Integration mapping view of the application model ... | * Integration mapping view of the application model ... | ||
Line 186: | Line 198: | ||
| ColdFusion | ColdSpring, Fusebox, Mach-II, Model-Glue | 4+ | | | ColdFusion | ColdSpring, Fusebox, Mach-II, Model-Glue | 4+ | | ||
| Perl | Catalyst, Mason, Maypole, Interface | 4+ | | | Perl | Catalyst, Mason, Maypole, Interface | 4+ | | ||
- | | PHP | Drupal, CakePHP, Zend Framework | 21+ | | + | | PHP | Drupal, CakePHP, Zend Framework, Lavarel |
| Python | CherryPy, Django, Zope, TurboGrears, | | Python | CherryPy, Django, Zope, TurboGrears, | ||
- | | Ruby | Ruby on Rails | and 5 others | | + | | Ruby | Ruby on Rails, Sinatra |
+ | | JavaScript | Meteor, Node.js | some others | | ||
---- | ---- | ||
Line 444: | Line 457: | ||
- | ===== Screencasts ===== | ||
- | |||
- | // | ||
- | |||
- | * Part 1: Installing Ruby | ||
- | * Part 2: Installing Rails | ||
- | * Part 3: Hello Rails! | ||
- | * Part 4: Creating the Cars Database | ||
- | * Part 5: Cars on Rails | ||
- | |||
- | ---- | ||
- | These screencasts give you a flavour of rails. They need to be upgraded to the latest version. More information is given on the web page. | ||
===== Market Impact ===== | ===== Market Impact ===== | ||
Line 477: | Line 478: | ||
* Version 2.2 was released November 2008 | * Version 2.2 was released November 2008 | ||
* Version 2.3 is the current 2.x release | * Version 2.3 is the current 2.x release | ||
- | * Version 3 (more modular rails) was released in 2010. Current versions are 2.3.14 and 3.2.3. 3.3 is in development. | + | * Version 3 (more modular rails) was released in 2010. Current versions are 2.3.14 and 3.2.13. |
+ | * Version 4.0 is in development | ||
eg-259/lecture20.1366095696.txt.gz · Last modified: 2013/04/16 07:01 by eechris