Lecture1 - Course overview, a cloud app sample (Quiz).pdf

Full Transcript

Server and Client ❑ A server is a computer (or multiple computers) provide services. ❑ A client (user devices, e.g., PC) requests services. ❑ This is known as client-server networking model. Content requests services Computing resources provides services User (Client) Server … Services: ✓ Pr...

Server and Client ❑ A server is a computer (or multiple computers) provide services. ❑ A client (user devices, e.g., PC) requests services. ❑ This is known as client-server networking model. Content requests services Computing resources provides services User (Client) Server … Services: ✓ Providing content including web pages, files, etc. ✓ Sharing resources such as programs, data, storage devices. Reference: https://www.javatpoint.com/computer-network-client-and-server-model 15 Server-side apps (programs) ❑ Server-side apps indicate apps (programs) running in a server. ❑ Server-side programs is used to • • • • querying and interacting with the database, accessing files on the server, interacting with other servers processing user input, and structuring web applications. Content requests services Computing resources provides services User (Client) Server … Server-side apps/programs 16 Key technologies in server-side apps requests services provides services User (Client) Server-side technologies • Data Base management • Server-side programming • Data/Object Mapping • Express web to clients • Identification Server • Integrating multiple services App developer 17 Key technologies in server-side apps ❑ NoSQL – allows developers to store huge amounts of unstructured data. ❑ JSON - stores JavaScript objects as text and easily send JSON data between computers. ❑ MongoDB – a cloud data management platform to develop and scale applications. 1. NoSQL, JSON, MongoDB Server-side technologies • Data Base management • Server-side programming Data/Object Mapping • Express web to clients • Identification Server • Integrating multiple services 18 Key technologies in server-side apps ❑ Node.js – a JavaScript runtime environment, let developers use JavaScript to write command line tools and for server-side scripting – running scripts server-side to produce dynamic web page content. 1. NoSQL, JSON, MongoDB 2. Server-side scripting Node.js Server-side technologies • Data Base management • Server-side programming Data/Object Mapping • Express web to clients • Identification Server • Integrating multiple services 19 Key technologies in server-side apps ❑ ODM Mongoose – an Object Data Modeling library for MongoDB and Node.js, it manages relationships between data and translates between objects in code and the representation of those objects in MongoDB. 1. NoSQL, JSON, MongoDB 2. Server-side scripting Node.js 3. Object Document Mapper (ODM) Mongoose Server-side technologies • Data Base management • Server-side programming Data/Object Mapping • Express web to clients • Identification Server • Integrating multiple services 20 Key technologies in server-side apps ❑ Express.js – a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. 1. NoSQL, JSON, MongoDB 2. Server-side scripting Node.js 3. Object Document Mapper (ODM) Mongoose 4. Server side MVC Express.js Server-side technologies • Data Base management • Server-side programming Data/Object Mapping • Express web to clients • Identification Server • Integrating multiple services 21 Key technologies in server-side apps ❑ Session – interact multiple requests and responses with the same user for identification ❑ Middleware – make changes to the request and the response objects. ❑ Oauth – an open standard authorization framework for token-based authorization on the internet. 1. NoSQL, JSON, MongoDB 2. Server-side scripting Node.js 3. Object Document Mapper (ODM) Mongoose 4. Server side MVC Express.js 5. Middleware, Session, Oauth Server-side technologies • Data Base management • Server-side programming Data/Object Mapping • Express web to clients • Identification Server • Integrating multiple services 22 Key technologies in server-side apps ❑ Application programming interfaces (API) – allow one system to access the information or functionality of another, in another work, connect two separate apps ❑ Varieties of API architectural styles, i.e., SOAP, REST, GraphQL, can achieve different function interactions between apps 1. NoSQL, JSON, MongoDB 2. Server-side scripting Node.js 3. Object Document Mapper (ODM) Mongoose 4. Server side MVC Express.js 5. Middleware, Session, Oauth 6. Service oriented Architecture (SOA), REST, GraphQL, Serverless/API Architecture Server-side technologies • Data Base management • Server-side programming Data/Object Mapping • Express web to clients • Identification Server • Integrating multiple services 23 Could Computing • Cloud is a remote data center/platform • • Operated by a third-party cloud services infrastructure provider E.g., IBM, AWS, Heroku, Render, Huawei. • Cloud Computing is the online computer system resource, • • • Especially data storage (cloud storage) and computing power Without direct active management by the user Flexibility, on-demand availability A cloud recourse may be distributed, it has huge data storage and computing power. 24 Server-side apps in Cloud ❑ Deploy Server-side apps to cloud = cloud apps • • S e rv e r - s i d e p ro g ra ms ru n i n c lo u d F a s t re s p o n s e t o b u s i n e s s n e e d s , s i mp l i f i e d o p e ra t i o n , i n s t a n t s c a l a b i l i t y, A P I u s e , re d u c e d c o s t . App developer Easy, fast, flexible deployment Massive Users (Clients) Cloud app Hard to manage local data and computing resource A server supported by App developer 25

Use Quizgecko on...
Browser
Browser