diff options
| author | mo khan <mo.khan@gmail.com> | 2020-02-04 18:42:30 -0700 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-02-04 18:42:30 -0700 |
| commit | 2bedd2a3f3d5e90dd5bf3a8b7adbabc1fc489e45 (patch) | |
| tree | 81ff526d5a64cde3049b9084c6530ce478dac74f /doc/unit-6.md | |
| parent | ca6a322c04067150f014c270b0d21cbb77c2755f (diff) | |
Add unit 6 notes
Diffstat (limited to 'doc/unit-6.md')
| -rw-r--r-- | doc/unit-6.md | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/doc/unit-6.md b/doc/unit-6.md index 85a26fb..c17ba06 100644 --- a/doc/unit-6.md +++ b/doc/unit-6.md @@ -11,8 +11,105 @@ Read Chapter 8 "Database Application Development": * databases in three-tier architectures * key considerations in three-tier applications +### Client/server architectures + + | presentation logic | + | processing logic (business rules) | + | storage logic | + +> Application Partitioning: the process of assigning portions of application code to client or server +> partitions after it is written to achieve better performance and interoperability (ability of a component to function on different platforms). + +> Fat client: A client PC that is responsible for processing presentation logic, extensive application and business rules logic and many DBMS functions. + +Two tier architectures + +|--------| +| Server | * storage logic +|--------| +| Client | * processing logic +| | * presentation logic +|--------| + +|--------| +| Server | * storage logic +| | * processing logic +|--------| +| Client | * presentation logic +|--------| + + +n tier architecture + +|--------| +| db | * storage logic +|--------| +| app | * processing logic +|--------| +| client | * presentation logic +|--------| + +|--------| +| db | * storage logic (postgresql) +|--------| +| app | * processing logic (ruby on rails) +|--------| +| web | * processing logic (nginx) +|--------| +| client | * presentation logic (firefox) +|--------| + + +> database server: A computer that is responsible for database storage, +> access, and processing in a client/server environment. + +* middleware: software that allows an application to interoperate with other + software without requiring the user to understand and code the low-level operations + necessary to achieve interoperability. + +* API: set of routines that an application program uses to direct the performance + by the computers operating system. + +* Open database connectivity (ODBC): An API that provides a common language for + application programs to access and process SQL databases independent of the particular DBMS that is accessed. + +Connecting to a db: + +* identify and register database driver +* open a connection to a database +* execute a query against the database +* process the results of the query +* repeat steps 3-4 as necessary +* close connection to the db + +* Three tier architecture: client/server configuration that includes three layers; a client layer, and two server layers. + * common setup is to have an app server and a database server. + +* thin client: an application where the client accessing the application primarily provides + the user interfaces and some application processing, usually with no or limited local data storage. + ## Section 2: XML and Data Exchange on the Internet Read Chapter 8: "Database Application Development" * "Extensible Markup Language (XML)" + + +* XML: a text based markup language used to describe data structures hierarchically, using HTML-like tags. +* XML Schema Definition (XSD): language used for defining XML databases that has been recommended by the W3C. + +XSD describes structure, data typing, and validation of a salesperson record. + +Storing XML documents: + +1. store xml in a relational db by shredding it: store each element in a relational table. +2. store XML as blob: not great for full text search unless the db supports xml datatypes. +3. store XML in db using database specific column datatypes. +4. Store xml using xml databases: this is non-relational database designed specifically for xml. + +* XPath: expressions used to locate data in XML documents. +* XQuery: XML transformation language that allows application to query both relational and XML data. +* extensible stylesheet language transformation (XSLT): pretty up xml document display. +* Web services description language (WSDL): xml grammar to describe an public interface for an API. +* Simple Object Access Protocol (SOAP): xml communication protocol. Don't do this. just use json or protocol buffers. +* Service-oriented architecture (SOA): collection of services that communicate with each other in some manner, usually by passing data or coordinating a business activity. |
