SlideShare a Scribd company logo
1 of 32
“ Unit 5
”
Cloud Applications
Ms. Mary Jacob
Assistant Professor, Department of Computer Science
Kristu Jayanti College (Autonomous)
5 Design Considerations for Cloud Applications
1. Scalability
Loose coupling of components:
Traditional application design methodologies with tightly coupled
application components, limit the scalability. Tightly coupled
components use procedure based tight coupling and hard-wired links
which make it difficult to scale application components independently.
By designing loosely coupled compo nents, it is possible to scale each
component independently.
Stateless design:
Stateless designs that store state outside of the components in a separate
database allow scaling the application components independently,
5 Design Considerations for Cloud Applications
Asynchronous communication: In traditional application designs, it is a
common practice to process a request and return immediately. This
limits the scalability of the application. By allowing asynchronous
communication between components, it is possible to add capacity by
adding additional servers when the application load increases.
Stateless design: Stateless designs that store state outside of the
components separate database allow scaling the application components
independently.
Database choice and design: Choice of the database and the design of
data storage schemes affect the application scalability. Decisions such as
whether to choose a traditional relational database (SQL approach) with
strict schemas or a schema-less database (No-SQL approach) should be
made after careful analysis of the application's data storage and analysis
requirements.
5 Design Considerations for Cloud Applications
2.Reliability & Availability
Reliability
Ø Reliability of a system is defined as the probability that a system will
perform the intended functions under stated conditions for a
specified amount of time.
Availability
Ø It is the probability that a system will perform a specified function
under given conditions at a prescribed time.
5 Design Considerations for Cloud Applications
Design considerations to be kept in mind while developing highly reliable and
available applications are:
No single point of failure: Traditional application design approaches which
have single points of failure such as a single database server or a single
application server have the risk of complete breakdowns in case the of failure of
the critical resource. To high achieve reliability and availability, having a
redundant resource or an automated fallback resource is important.
Trigger automated actions on failures: Traditional application design
approaches handled failures by giving exceptions. By using failures and triggers
for automated actions it is possible to improve the application reliability and
availability. For example, if an application server experiences high CPU usage
and is a unable to server new requests, a new application server is automatically
5 Design Considerations for Cloud Applications
Graceful degradation: Applications should be designed to gracefully degrade in
the event of outages of some parts or components of the application. Graceful
degradation means that if some component of the application becomes
unavailable the application as a whole would still be available and continue to
serve the users, though, with limited functionality. For example, in an e-
Commerce application, if a component that manages a certain category of
products becomes unavailable, the users should still be able to view products
from other categories.
Logging: Logging all events in all the application components can help in
detecting bottlenecks and failures so that necessary design/deployment changes
can be made to improve application reliability and availability.
5 Design Considerations for Cloud Applications
Graceful degradation: Applications should be designed to gracefully degrade in
the event of outages of some parts or components of the application. Graceful
degradation means that if some component of the application becomes
unavailable the application as a whole would still be available and continue to
serve the users, though, with limited functionality. For example, in an e-
Commerce application, if a component that manages a certain category of
products becomes unavailable, the users should still be able to view products
from other categories.
Logging: Logging all events in all the application components can help in
detecting bottlenecks and failures so that necessary design/deployment changes
can be made to improve application reliability and availability.
5 Design Considerations for Cloud Applications
Replication: All application data should be replicated. Replication is used to
create and maintain multiple copies of the data in the cloud. In the event of data
loss at the primary location, organizations can continue to operate their
applications from secondary data sources.
5 Design Considerations for Cloud Applications
3. Security
Security is an important design consideration for cloud applications given the
out sourced nature of cloud computing environments. In domains such as
healthcare there are several government laws that require the applications to
ensure security of health information of patients. Key security considerations
for cloud computing environments
Ø Securing data at rest
Ø Securing data in motion
Ø Authentication
Ø Authorization
Ø Identity and access management
Ø Key management
Ø Data integrity
Ø Auditing
5 Design Considerations for Cloud Applications
4. Maintenance & Upgradation
Ø To achieve a rapid time-to-market, businesses typically launch their appl a
core set of features ready and then incrementally add new features as and
when they are complete.
Ø Businesses may need to adapt their applications based on the feedback from
the users. In such scenarios, it is important to design applications with low
maintenance and upgradation costs.
Ø Design decisions such as loosely coupled components help in reducing the
application maintenance and upgradation time.
Ø In applications with loosely coupled components, changes can be made to a
component. without affecting other components. Moreover, components can
be tested individually Other decisions such as logging and triggering
automated actions also help in lowering the maintenance costs.
5 Design Considerations for Cloud Applications
5.Performance
Ø Applications should be designed while keeping the performance
requirements in mind.
Ø Performance requirements depend on the type of the application. For
example applications which experience high database read-intensive
workloads, can benefit from read-replication or caching approaches.
Ø There are various metrics that are use to evaluate the application
performance, such as response time, throughput, etc.
Ø For a good user experience a response time less than 4 seconds is generally
acceptable. However certain applications may have even more strict
requirements.
5
The design methodologies for cloud applications are:
Ø Service Oriented Architecture
Ø Cloud Component Model
Ø Model View Controller
Cloud Application Design Methodologies
5
Ø It is a architectural approach to design applications in the form of services
that can be shared and reused.
Ø It is a collection of discrete software modules or services that collectively
provide the functionality of the application.
Ø It is developed using loosely coupled modules with no hard wired calls
embedded in the services.
Ø Services communicate with each other by passing messages.
Ø It uses Web Services Description Language(WSDL) to create service
descriptions containing information about the functions performed by the
service and the inputs and outputs of the service.
Service Oriented Architecture
Concepts of WSDL
5
WSDL is XML based web services description
language.
A WSDL 2.0 description contains:
Service- It describes discrete system function exposed
as a web service.
End Point - It is the address of the web service.
Binding - It specifies interface and transport protocol.
Interface- It defines web service and operations that
can be performed by the service and the input and
outputs.
Operations- It defines how the message is decoded
and the actions that can be performed.
Types - It describes the data.
Service Oriented Architecture
5
Ø SOA services communicate using SOAP(Simple Object Oriented
Protocol).
Ø SOAP is a protocol that allows exchange of structured information
between web services.
Ø WSDL in combination with SOAP is used to provide web services over
the internet.
Ø SOA allows reuse of services for multiple applications.
Ø As each service is designed to perform a small function developers can
orchestrate existing SOA services in an ad-hoc manner to create a new
application without the need to re-implement the existing services.
Service Oriented Architecture
Components of SOA
5
Service Oriented Architecture
Service Oriented Architecture
There are two major roles within Service-oriented Architecture:
Service provider: The service provider is the maintainer of the service and the
organization that makes available one or more services for others to use. To advertise
services, the provider can publish them in a registry, together with a service contract that
specifies the nature of the service, how to use it, the requirements for the service, and the
fees charged.
Service consumer: The service consumer can locate the service metadata in the registry
and develop the required client components to bind and use the service.
Services might aggregate information and data retrieved from other services or create
workflows of services to satisfy the request of a given service consumer. This practice is
known as service orchestration .
Another important interaction pattern is service choreography, which is the coordinated
interaction of services without a single point of control.
5
The layers of SOA are:
Business Systems-This layer consists of custom built applications and legacy
systems such as Enterprise Resource Planning(ERP),Customer Relationship
Management (CRM),Supply Chain Management (SCM) etc.
Service Components -The service componemts allows the layers above to interact
with the business systems.The service components are responsible for realizing the
functionality of the services provided.
Composite Services - They are coarse-grained services which are composed of two
or more service components.It can be used to create enterprise scale components or
business unit specific components.
Orchestrated Business Processes - Composite services can be orchestrated to create
higher level business processes. In this layer the compositions and orchestrations of
the composite services are defined to create business processes.
Service Oriented Architecture
5
Presentation Services - This is the
topmost layer that includes user
interfaces that exposes the services
and orchestrated business processes to
the users.
Enterprise Service Bus - This layer
integrates the services through
adapters, routing, tranformation and
messaging mechanisms.
Service Oriented Architecture
5
Ø Cloud Component Model (CCM) is a application design methodology that
provides a flexible way of reating an application in rapid, convenient, platform
independent manner unlike the existing approaches that use architecture-specific
and domain-specific templates.
Ø It is architectural approach that is not tied to any specific programming language
or cloud platform.
Ø It can contribute to innovative hybrid deployments in which components of an
application can be deployed in cloud infrastructure and platforms of different
cloud vendors.
Ø It has better portability and interoperability
Ø CCM based applications have better scalability because of asynchronous
communication and decoupling of application components.
Cloud Component Model (CCM)
5
Ø CCM makes maintainability of cloud application easier as each component of the
application can be improved or upgraded independent of other components.
Ø CCM provides cost benefits to the cloud application as components can be
carefully mapped to cloud resources and by scaling the resources up only for
components which require additional computing capacity.
Ø The steps in CCM approach are as follws:
1. Component Design
2. Architecture Design
3. Deployment Design
Cloud Component Model (CCM)
5 Cloud Component Model (CCM)
5
1. Component Design
Ø Cloud Component Model is created for the application based on the
comprehensive analysis of the application’s functions and building blocks.
Ø Cloud Component Model allows to identify the building blocks of cloud
application which are classified based on the functions performed and the type of
cloud resources required.
Ø Each building block performs a set of actions to produce the desired outputs for
other components.
Ø Each component takes specific inputs performs pre-defined set of actions and
produces the desired outputs.
Ø Components offer their services through functional interface which can be used
by other components.
Cloud Component Model (CCM)
5
Component Design
Ø Components report their performance to a performance database through
performance interface.
Ø Components have number of resources like web pages,images, documents,
database tables etc.
Ø Auto Scaling performance constraints and conditions can be specified for each
component.
Ø Component based approach is applicable to web based applications and mobile
applications.
Cloud Component Model (CCM)
5
2. Architecture Design
In this step the interactions between the application components are defined.
CCM Components have the following characterestics:
Loose Coupling :
Ø Components in the Cloud component model is loosely coupled.
Ø Instead of hard-wiring the links the components interface through clearly defined
functional and service boundaries.Link between the components are established
and broken as they respond to service requests.
Ø Loose coupling of components relies on REST communication protocol that
allows components developed in different programming language to communicate
to each other.
Cloud Component Model (CCM)
5
Architecture Design
Asynchronous Communication :
Ø Loosely coupled components communicate asynchronously through message
based communication using message queues.
Ø The benefit of messaging queues is that the overall application can continue to
perform even though individual components may go offline temporarily.When the
component becomes temporarily unavailable the messages are buffered and
processed when the component becomes avaiable again.
Ø Loose coupling isolates the components of the application and each component
communicates in an asynchronous manner treating other components as black
boxes.
Ø Because of asynchronous communication it is possble to add additional servers
when the application load increases.
Cloud Component Model (CCM)
5
Architecture Design
Stateless Design :
Ø Components in Cloud component model are stateless.
Ø By storing session state outside of the component,stateless component design
enables distribution and horizontal scaling.
Ø In distributed computing with horizontal scaling of components successive
requests to a component may be serviced by different servers.
Cloud Component Model (CCM)
5
3. Deployment Design
Ø In this step the application components are mapped to specific cloud resources
such as web servers, database servers , application servers etc.
Ø As the application components are loosely coupled and stateless with
asynchronous communication the components can be deployed independently.
Ø Moreover multiple clouds can be used for application deployment.
Ø This approach makes it easy to migrate application components from one cloud to
another easily.
Ø With this flexibility in application design and deployment the application
developers can ensure that the applications meet the performance and cost
requiremnets with changing contexts.
Cloud Component Model (CCM)
5
Ø MVC ia apopular software design pattern for web applications.
Ø MVC pattern has three parts:
1. Model
2. View
3.Controller
Model View Controller (MVC)
5
1. Model :
Ø Model manages the data and behaviour of the applications.
Ø It processes events sent by the controller.
Ø Model has no information about the views and controllers.
Ø Model responds to the requests for information about its state (from the view)
and responds to the instructions to change state (from the controller).
2. View:
Ø View prepares the interface which is shown to the users. Users interact with the
application through views.
Ø Views present the information that the model or controller tells the view to
present to the user.
Ø It also handles the user requests and sends them to the controller
Model View Controller (MVC)
5
3. Controller:
Ø Controller glues the model to the view. Controller processes the user requests
and updates the model when the user manipulates the view.
Ø Controller also updates the view when the model changes.
MVC seperates the data,logic and user interface.
MVC improves the maintainability of the application and allows the reuse of code.
Applications developed using MVC can be updated easily because of the seperation
of model and view.
Both view and controller depend on the model but model doesn’t depend on either ,
which allows model to be developed and tested independently.
Similarly the seperation between view and controller is also well defined for web
applications.
In MVC views can be changed without affecting model.
Model View Controller (MVC)
“ THANK YOU
”

More Related Content

What's hot

Communication primitives
Communication primitivesCommunication primitives
Communication primitivesStudent
 
Issues in Data Link Layer
Issues in Data Link LayerIssues in Data Link Layer
Issues in Data Link Layerselvakumar_b1985
 
Principles of programming languages. Detail notes
Principles of programming languages. Detail notesPrinciples of programming languages. Detail notes
Principles of programming languages. Detail notesVIKAS SINGH BHADOURIA
 
Coda file system
Coda file systemCoda file system
Coda file systemSneh Pahilwani
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing modelsishmecse13
 
Distributed file system
Distributed file systemDistributed file system
Distributed file systemAnamika Singh
 
directory structure and file system mounting
directory structure and file system mountingdirectory structure and file system mounting
directory structure and file system mountingrajshreemuthiah
 
14 relationship between processes
14 relationship between processes14 relationship between processes
14 relationship between processesmyrajendra
 
Multithreading
MultithreadingMultithreading
MultithreadingA B Shinde
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systemskaran2190
 
Multiple Access Protocal
Multiple Access ProtocalMultiple Access Protocal
Multiple Access Protocaltes31
 
Measures of query cost
Measures of query costMeasures of query cost
Measures of query costHitesh Mohapatra
 
Congestion control
Congestion controlCongestion control
Congestion controlAman Jaiswal
 
Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed systemSunita Sahu
 

What's hot (20)

Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
Mobile computing unit 5
Mobile computing  unit 5Mobile computing  unit 5
Mobile computing unit 5
 
Issues in Data Link Layer
Issues in Data Link LayerIssues in Data Link Layer
Issues in Data Link Layer
 
Principles of programming languages. Detail notes
Principles of programming languages. Detail notesPrinciples of programming languages. Detail notes
Principles of programming languages. Detail notes
 
Osi reference model
Osi reference modelOsi reference model
Osi reference model
 
Coda file system
Coda file systemCoda file system
Coda file system
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing models
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
 
directory structure and file system mounting
directory structure and file system mountingdirectory structure and file system mounting
directory structure and file system mounting
 
14 relationship between processes
14 relationship between processes14 relationship between processes
14 relationship between processes
 
Multithreading
MultithreadingMultithreading
Multithreading
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
 
Multiple Access Protocal
Multiple Access ProtocalMultiple Access Protocal
Multiple Access Protocal
 
Distributed deadlock
Distributed deadlockDistributed deadlock
Distributed deadlock
 
computer network OSI layer
computer network OSI layercomputer network OSI layer
computer network OSI layer
 
Measures of query cost
Measures of query costMeasures of query cost
Measures of query cost
 
Congestion control
Congestion controlCongestion control
Congestion control
 
Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed system
 

Similar to Unit 5- Cloud Applications.pdf

unit 5 cloud.pptx
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptxMrPrathapG
 
M.S. Dissertation in Salesforce on Force.com
M.S. Dissertation in Salesforce on Force.comM.S. Dissertation in Salesforce on Force.com
M.S. Dissertation in Salesforce on Force.comArun Somu Panneerselvam
 
The F5 Networks Application Services Reference Architecture (White Paper)
The F5 Networks Application Services Reference Architecture (White Paper)The F5 Networks Application Services Reference Architecture (White Paper)
The F5 Networks Application Services Reference Architecture (White Paper)F5 Networks
 
Information on Cloud-native Applications
Information on Cloud-native ApplicationsInformation on Cloud-native Applications
Information on Cloud-native ApplicationsHTS Hosting
 
Web Based Application for Rent or Sale
Web Based Application for Rent or SaleWeb Based Application for Rent or Sale
Web Based Application for Rent or SaleMike Taylor
 
whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processEric Saraceno
 
Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingHaseeb Rehman
 
Mobile Responsive Social Corporate Intranet Portal Application
Mobile Responsive Social Corporate Intranet Portal ApplicationMobile Responsive Social Corporate Intranet Portal Application
Mobile Responsive Social Corporate Intranet Portal ApplicationMike Taylor
 
How to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your ProjectHow to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your ProjectBitCot
 
Top 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringTop 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringConvetit
 
08 hopex v next service fabric
08 hopex v next   service fabric08 hopex v next   service fabric
08 hopex v next service fabricMichel Bruchet
 
Exploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsExploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsLucy Zeniffer
 
Impact of cloud services on software development life
Impact of cloud services on software development life Impact of cloud services on software development life
Impact of cloud services on software development life Mohamed M. Yazji
 
power apps.pptx
power apps.pptxpower apps.pptx
power apps.pptxbhavya3zen
 
power apps (1).pdf
power apps (1).pdfpower apps (1).pdf
power apps (1).pdfbhavya3zen
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitectureABDEL RAHMAN KARIM
 
Angular for Beginners: A Comprehensive Guide
Angular for Beginners: A Comprehensive GuideAngular for Beginners: A Comprehensive Guide
Angular for Beginners: A Comprehensive GuideCMARIX TechnoLabs
 
Web Application Architecture: Everything You Need to Know About
Web Application Architecture: Everything You Need to Know AboutWeb Application Architecture: Everything You Need to Know About
Web Application Architecture: Everything You Need to Know AboutNoman Shaikh
 

Similar to Unit 5- Cloud Applications.pdf (20)

unit 5 cloud.pptx
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptx
 
M.S. Dissertation in Salesforce on Force.com
M.S. Dissertation in Salesforce on Force.comM.S. Dissertation in Salesforce on Force.com
M.S. Dissertation in Salesforce on Force.com
 
The F5 Networks Application Services Reference Architecture (White Paper)
The F5 Networks Application Services Reference Architecture (White Paper)The F5 Networks Application Services Reference Architecture (White Paper)
The F5 Networks Application Services Reference Architecture (White Paper)
 
Information on Cloud-native Applications
Information on Cloud-native ApplicationsInformation on Cloud-native Applications
Information on Cloud-native Applications
 
Web Based Application for Rent or Sale
Web Based Application for Rent or SaleWeb Based Application for Rent or Sale
Web Based Application for Rent or Sale
 
whitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
 
Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server Computing
 
Mobile Responsive Social Corporate Intranet Portal Application
Mobile Responsive Social Corporate Intranet Portal ApplicationMobile Responsive Social Corporate Intranet Portal Application
Mobile Responsive Social Corporate Intranet Portal Application
 
How to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your ProjectHow to Build a Scalable Web Application for Your Project
How to Build a Scalable Web Application for Your Project
 
Top 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringTop 8 Trends in Performance Engineering
Top 8 Trends in Performance Engineering
 
08 hopex v next service fabric
08 hopex v next   service fabric08 hopex v next   service fabric
08 hopex v next service fabric
 
Exploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key ComponentsExploring Cloud Native Architecture: Its Benefits And Key Components
Exploring Cloud Native Architecture: Its Benefits And Key Components
 
Impact of cloud services on software development life
Impact of cloud services on software development life Impact of cloud services on software development life
Impact of cloud services on software development life
 
power apps.pptx
power apps.pptxpower apps.pptx
power apps.pptx
 
power apps (1).pdf
power apps (1).pdfpower apps (1).pdf
power apps (1).pdf
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
TermPaper
TermPaperTermPaper
TermPaper
 
Angular for Beginners: A Comprehensive Guide
Angular for Beginners: A Comprehensive GuideAngular for Beginners: A Comprehensive Guide
Angular for Beginners: A Comprehensive Guide
 
Web Application Architecture: Everything You Need to Know About
Web Application Architecture: Everything You Need to Know AboutWeb Application Architecture: Everything You Need to Know About
Web Application Architecture: Everything You Need to Know About
 
internship paper
internship paperinternship paper
internship paper
 

More from MaryJacob24

Unit 1-Introduction to Data Structures-BCA.pdf
Unit 1-Introduction to Data Structures-BCA.pdfUnit 1-Introduction to Data Structures-BCA.pdf
Unit 1-Introduction to Data Structures-BCA.pdfMaryJacob24
 
Unit 2-Data Modeling.pdf
Unit 2-Data Modeling.pdfUnit 2-Data Modeling.pdf
Unit 2-Data Modeling.pdfMaryJacob24
 
C Operators and Control Structures.pdf
C Operators and Control Structures.pdfC Operators and Control Structures.pdf
C Operators and Control Structures.pdfMaryJacob24
 
Unit 4- Dynamic Programming.pdf
Unit 4- Dynamic Programming.pdfUnit 4- Dynamic Programming.pdf
Unit 4- Dynamic Programming.pdfMaryJacob24
 
Unit 3- Greedy Method.pptx
Unit 3- Greedy Method.pptxUnit 3- Greedy Method.pptx
Unit 3- Greedy Method.pptxMaryJacob24
 
tree traversals.pdf
tree traversals.pdftree traversals.pdf
tree traversals.pdfMaryJacob24
 
Linked List-Types.pdf
Linked List-Types.pdfLinked List-Types.pdf
Linked List-Types.pdfMaryJacob24
 
Simplification of Circuits.pdf
Simplification of Circuits.pdfSimplification of Circuits.pdf
Simplification of Circuits.pdfMaryJacob24
 
2 bit comparator, 4 1 Multiplexer, 1 4 Demultiplexer, Flip Flops and Register...
2 bit comparator, 4 1 Multiplexer, 1 4 Demultiplexer, Flip Flops and Register...2 bit comparator, 4 1 Multiplexer, 1 4 Demultiplexer, Flip Flops and Register...
2 bit comparator, 4 1 Multiplexer, 1 4 Demultiplexer, Flip Flops and Register...MaryJacob24
 
Algorithm-Introduction ,Characterestics & Control Structures.pdf
Algorithm-Introduction ,Characterestics & Control Structures.pdfAlgorithm-Introduction ,Characterestics & Control Structures.pdf
Algorithm-Introduction ,Characterestics & Control Structures.pdfMaryJacob24
 
Data Structures & Recursion-Introduction.pdf
Data Structures & Recursion-Introduction.pdfData Structures & Recursion-Introduction.pdf
Data Structures & Recursion-Introduction.pdfMaryJacob24
 
quick sort.pdf
quick sort.pdfquick sort.pdf
quick sort.pdfMaryJacob24
 
Unit 3 - Greedy Method
Unit 3  - Greedy MethodUnit 3  - Greedy Method
Unit 3 - Greedy MethodMaryJacob24
 
Unit 3 greedy method
Unit 3  greedy methodUnit 3  greedy method
Unit 3 greedy methodMaryJacob24
 
Graph Traversals
Graph TraversalsGraph Traversals
Graph TraversalsMaryJacob24
 

More from MaryJacob24 (15)

Unit 1-Introduction to Data Structures-BCA.pdf
Unit 1-Introduction to Data Structures-BCA.pdfUnit 1-Introduction to Data Structures-BCA.pdf
Unit 1-Introduction to Data Structures-BCA.pdf
 
Unit 2-Data Modeling.pdf
Unit 2-Data Modeling.pdfUnit 2-Data Modeling.pdf
Unit 2-Data Modeling.pdf
 
C Operators and Control Structures.pdf
C Operators and Control Structures.pdfC Operators and Control Structures.pdf
C Operators and Control Structures.pdf
 
Unit 4- Dynamic Programming.pdf
Unit 4- Dynamic Programming.pdfUnit 4- Dynamic Programming.pdf
Unit 4- Dynamic Programming.pdf
 
Unit 3- Greedy Method.pptx
Unit 3- Greedy Method.pptxUnit 3- Greedy Method.pptx
Unit 3- Greedy Method.pptx
 
tree traversals.pdf
tree traversals.pdftree traversals.pdf
tree traversals.pdf
 
Linked List-Types.pdf
Linked List-Types.pdfLinked List-Types.pdf
Linked List-Types.pdf
 
Simplification of Circuits.pdf
Simplification of Circuits.pdfSimplification of Circuits.pdf
Simplification of Circuits.pdf
 
2 bit comparator, 4 1 Multiplexer, 1 4 Demultiplexer, Flip Flops and Register...
2 bit comparator, 4 1 Multiplexer, 1 4 Demultiplexer, Flip Flops and Register...2 bit comparator, 4 1 Multiplexer, 1 4 Demultiplexer, Flip Flops and Register...
2 bit comparator, 4 1 Multiplexer, 1 4 Demultiplexer, Flip Flops and Register...
 
Algorithm-Introduction ,Characterestics & Control Structures.pdf
Algorithm-Introduction ,Characterestics & Control Structures.pdfAlgorithm-Introduction ,Characterestics & Control Structures.pdf
Algorithm-Introduction ,Characterestics & Control Structures.pdf
 
Data Structures & Recursion-Introduction.pdf
Data Structures & Recursion-Introduction.pdfData Structures & Recursion-Introduction.pdf
Data Structures & Recursion-Introduction.pdf
 
quick sort.pdf
quick sort.pdfquick sort.pdf
quick sort.pdf
 
Unit 3 - Greedy Method
Unit 3  - Greedy MethodUnit 3  - Greedy Method
Unit 3 - Greedy Method
 
Unit 3 greedy method
Unit 3  greedy methodUnit 3  greedy method
Unit 3 greedy method
 
Graph Traversals
Graph TraversalsGraph Traversals
Graph Traversals
 

Recently uploaded

Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 

Recently uploaded (20)

Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
CĂłdigo Creativo y Arte de Software | Unidad 1
CĂłdigo Creativo y Arte de Software | Unidad 1CĂłdigo Creativo y Arte de Software | Unidad 1
CĂłdigo Creativo y Arte de Software | Unidad 1
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 

Unit 5- Cloud Applications.pdf

  • 1. “ Unit 5 ” Cloud Applications Ms. Mary Jacob Assistant Professor, Department of Computer Science Kristu Jayanti College (Autonomous)
  • 2. 5 Design Considerations for Cloud Applications 1. Scalability Loose coupling of components: Traditional application design methodologies with tightly coupled application components, limit the scalability. Tightly coupled components use procedure based tight coupling and hard-wired links which make it difficult to scale application components independently. By designing loosely coupled compo nents, it is possible to scale each component independently. Stateless design: Stateless designs that store state outside of the components in a separate database allow scaling the application components independently,
  • 3. 5 Design Considerations for Cloud Applications Asynchronous communication: In traditional application designs, it is a common practice to process a request and return immediately. This limits the scalability of the application. By allowing asynchronous communication between components, it is possible to add capacity by adding additional servers when the application load increases. Stateless design: Stateless designs that store state outside of the components separate database allow scaling the application components independently. Database choice and design: Choice of the database and the design of data storage schemes affect the application scalability. Decisions such as whether to choose a traditional relational database (SQL approach) with strict schemas or a schema-less database (No-SQL approach) should be made after careful analysis of the application's data storage and analysis requirements.
  • 4. 5 Design Considerations for Cloud Applications 2.Reliability & Availability Reliability Ø Reliability of a system is defined as the probability that a system will perform the intended functions under stated conditions for a specified amount of time. Availability Ø It is the probability that a system will perform a specified function under given conditions at a prescribed time.
  • 5. 5 Design Considerations for Cloud Applications Design considerations to be kept in mind while developing highly reliable and available applications are: No single point of failure: Traditional application design approaches which have single points of failure such as a single database server or a single application server have the risk of complete breakdowns in case the of failure of the critical resource. To high achieve reliability and availability, having a redundant resource or an automated fallback resource is important. Trigger automated actions on failures: Traditional application design approaches handled failures by giving exceptions. By using failures and triggers for automated actions it is possible to improve the application reliability and availability. For example, if an application server experiences high CPU usage and is a unable to server new requests, a new application server is automatically
  • 6. 5 Design Considerations for Cloud Applications Graceful degradation: Applications should be designed to gracefully degrade in the event of outages of some parts or components of the application. Graceful degradation means that if some component of the application becomes unavailable the application as a whole would still be available and continue to serve the users, though, with limited functionality. For example, in an e- Commerce application, if a component that manages a certain category of products becomes unavailable, the users should still be able to view products from other categories. Logging: Logging all events in all the application components can help in detecting bottlenecks and failures so that necessary design/deployment changes can be made to improve application reliability and availability.
  • 7. 5 Design Considerations for Cloud Applications Graceful degradation: Applications should be designed to gracefully degrade in the event of outages of some parts or components of the application. Graceful degradation means that if some component of the application becomes unavailable the application as a whole would still be available and continue to serve the users, though, with limited functionality. For example, in an e- Commerce application, if a component that manages a certain category of products becomes unavailable, the users should still be able to view products from other categories. Logging: Logging all events in all the application components can help in detecting bottlenecks and failures so that necessary design/deployment changes can be made to improve application reliability and availability.
  • 8. 5 Design Considerations for Cloud Applications Replication: All application data should be replicated. Replication is used to create and maintain multiple copies of the data in the cloud. In the event of data loss at the primary location, organizations can continue to operate their applications from secondary data sources.
  • 9. 5 Design Considerations for Cloud Applications 3. Security Security is an important design consideration for cloud applications given the out sourced nature of cloud computing environments. In domains such as healthcare there are several government laws that require the applications to ensure security of health information of patients. Key security considerations for cloud computing environments Ø Securing data at rest Ø Securing data in motion Ø Authentication Ø Authorization Ø Identity and access management Ø Key management Ø Data integrity Ø Auditing
  • 10. 5 Design Considerations for Cloud Applications 4. Maintenance & Upgradation Ø To achieve a rapid time-to-market, businesses typically launch their appl a core set of features ready and then incrementally add new features as and when they are complete. Ø Businesses may need to adapt their applications based on the feedback from the users. In such scenarios, it is important to design applications with low maintenance and upgradation costs. Ø Design decisions such as loosely coupled components help in reducing the application maintenance and upgradation time. Ø In applications with loosely coupled components, changes can be made to a component. without affecting other components. Moreover, components can be tested individually Other decisions such as logging and triggering automated actions also help in lowering the maintenance costs.
  • 11. 5 Design Considerations for Cloud Applications 5.Performance Ø Applications should be designed while keeping the performance requirements in mind. Ø Performance requirements depend on the type of the application. For example applications which experience high database read-intensive workloads, can benefit from read-replication or caching approaches. Ø There are various metrics that are use to evaluate the application performance, such as response time, throughput, etc. Ø For a good user experience a response time less than 4 seconds is generally acceptable. However certain applications may have even more strict requirements.
  • 12. 5 The design methodologies for cloud applications are: Ø Service Oriented Architecture Ø Cloud Component Model Ø Model View Controller Cloud Application Design Methodologies
  • 13. 5 Ø It is a architectural approach to design applications in the form of services that can be shared and reused. Ø It is a collection of discrete software modules or services that collectively provide the functionality of the application. Ø It is developed using loosely coupled modules with no hard wired calls embedded in the services. Ø Services communicate with each other by passing messages. Ø It uses Web Services Description Language(WSDL) to create service descriptions containing information about the functions performed by the service and the inputs and outputs of the service. Service Oriented Architecture
  • 14. Concepts of WSDL 5 WSDL is XML based web services description language. A WSDL 2.0 description contains: Service- It describes discrete system function exposed as a web service. End Point - It is the address of the web service. Binding - It specifies interface and transport protocol. Interface- It defines web service and operations that can be performed by the service and the input and outputs. Operations- It defines how the message is decoded and the actions that can be performed. Types - It describes the data. Service Oriented Architecture
  • 15. 5 Ø SOA services communicate using SOAP(Simple Object Oriented Protocol). Ø SOAP is a protocol that allows exchange of structured information between web services. Ø WSDL in combination with SOAP is used to provide web services over the internet. Ø SOA allows reuse of services for multiple applications. Ø As each service is designed to perform a small function developers can orchestrate existing SOA services in an ad-hoc manner to create a new application without the need to re-implement the existing services. Service Oriented Architecture
  • 16. Components of SOA 5 Service Oriented Architecture
  • 17. Service Oriented Architecture There are two major roles within Service-oriented Architecture: Service provider: The service provider is the maintainer of the service and the organization that makes available one or more services for others to use. To advertise services, the provider can publish them in a registry, together with a service contract that specifies the nature of the service, how to use it, the requirements for the service, and the fees charged. Service consumer: The service consumer can locate the service metadata in the registry and develop the required client components to bind and use the service. Services might aggregate information and data retrieved from other services or create workflows of services to satisfy the request of a given service consumer. This practice is known as service orchestration . Another important interaction pattern is service choreography, which is the coordinated interaction of services without a single point of control.
  • 18. 5 The layers of SOA are: Business Systems-This layer consists of custom built applications and legacy systems such as Enterprise Resource Planning(ERP),Customer Relationship Management (CRM),Supply Chain Management (SCM) etc. Service Components -The service componemts allows the layers above to interact with the business systems.The service components are responsible for realizing the functionality of the services provided. Composite Services - They are coarse-grained services which are composed of two or more service components.It can be used to create enterprise scale components or business unit specific components. Orchestrated Business Processes - Composite services can be orchestrated to create higher level business processes. In this layer the compositions and orchestrations of the composite services are defined to create business processes. Service Oriented Architecture
  • 19. 5 Presentation Services - This is the topmost layer that includes user interfaces that exposes the services and orchestrated business processes to the users. Enterprise Service Bus - This layer integrates the services through adapters, routing, tranformation and messaging mechanisms. Service Oriented Architecture
  • 20. 5 Ø Cloud Component Model (CCM) is a application design methodology that provides a flexible way of reating an application in rapid, convenient, platform independent manner unlike the existing approaches that use architecture-specific and domain-specific templates. Ø It is architectural approach that is not tied to any specific programming language or cloud platform. Ø It can contribute to innovative hybrid deployments in which components of an application can be deployed in cloud infrastructure and platforms of different cloud vendors. Ø It has better portability and interoperability Ø CCM based applications have better scalability because of asynchronous communication and decoupling of application components. Cloud Component Model (CCM)
  • 21. 5 Ø CCM makes maintainability of cloud application easier as each component of the application can be improved or upgraded independent of other components. Ø CCM provides cost benefits to the cloud application as components can be carefully mapped to cloud resources and by scaling the resources up only for components which require additional computing capacity. Ø The steps in CCM approach are as follws: 1. Component Design 2. Architecture Design 3. Deployment Design Cloud Component Model (CCM)
  • 22. 5 Cloud Component Model (CCM)
  • 23. 5 1. Component Design Ø Cloud Component Model is created for the application based on the comprehensive analysis of the application’s functions and building blocks. Ø Cloud Component Model allows to identify the building blocks of cloud application which are classified based on the functions performed and the type of cloud resources required. Ø Each building block performs a set of actions to produce the desired outputs for other components. Ø Each component takes specific inputs performs pre-defined set of actions and produces the desired outputs. Ø Components offer their services through functional interface which can be used by other components. Cloud Component Model (CCM)
  • 24. 5 Component Design Ø Components report their performance to a performance database through performance interface. Ø Components have number of resources like web pages,images, documents, database tables etc. Ø Auto Scaling performance constraints and conditions can be specified for each component. Ø Component based approach is applicable to web based applications and mobile applications. Cloud Component Model (CCM)
  • 25. 5 2. Architecture Design In this step the interactions between the application components are defined. CCM Components have the following characterestics: Loose Coupling : Ø Components in the Cloud component model is loosely coupled. Ø Instead of hard-wiring the links the components interface through clearly defined functional and service boundaries.Link between the components are established and broken as they respond to service requests. Ø Loose coupling of components relies on REST communication protocol that allows components developed in different programming language to communicate to each other. Cloud Component Model (CCM)
  • 26. 5 Architecture Design Asynchronous Communication : Ø Loosely coupled components communicate asynchronously through message based communication using message queues. Ø The benefit of messaging queues is that the overall application can continue to perform even though individual components may go offline temporarily.When the component becomes temporarily unavailable the messages are buffered and processed when the component becomes avaiable again. Ø Loose coupling isolates the components of the application and each component communicates in an asynchronous manner treating other components as black boxes. Ø Because of asynchronous communication it is possble to add additional servers when the application load increases. Cloud Component Model (CCM)
  • 27. 5 Architecture Design Stateless Design : Ø Components in Cloud component model are stateless. Ø By storing session state outside of the component,stateless component design enables distribution and horizontal scaling. Ø In distributed computing with horizontal scaling of components successive requests to a component may be serviced by different servers. Cloud Component Model (CCM)
  • 28. 5 3. Deployment Design Ø In this step the application components are mapped to specific cloud resources such as web servers, database servers , application servers etc. Ø As the application components are loosely coupled and stateless with asynchronous communication the components can be deployed independently. Ø Moreover multiple clouds can be used for application deployment. Ø This approach makes it easy to migrate application components from one cloud to another easily. Ø With this flexibility in application design and deployment the application developers can ensure that the applications meet the performance and cost requiremnets with changing contexts. Cloud Component Model (CCM)
  • 29. 5 Ø MVC ia apopular software design pattern for web applications. Ø MVC pattern has three parts: 1. Model 2. View 3.Controller Model View Controller (MVC)
  • 30. 5 1. Model : Ø Model manages the data and behaviour of the applications. Ø It processes events sent by the controller. Ø Model has no information about the views and controllers. Ø Model responds to the requests for information about its state (from the view) and responds to the instructions to change state (from the controller). 2. View: Ø View prepares the interface which is shown to the users. Users interact with the application through views. Ø Views present the information that the model or controller tells the view to present to the user. Ø It also handles the user requests and sends them to the controller Model View Controller (MVC)
  • 31. 5 3. Controller: Ø Controller glues the model to the view. Controller processes the user requests and updates the model when the user manipulates the view. Ø Controller also updates the view when the model changes. MVC seperates the data,logic and user interface. MVC improves the maintainability of the application and allows the reuse of code. Applications developed using MVC can be updated easily because of the seperation of model and view. Both view and controller depend on the model but model doesn’t depend on either , which allows model to be developed and tested independently. Similarly the seperation between view and controller is also well defined for web applications. In MVC views can be changed without affecting model. Model View Controller (MVC)