.NET Mobile Application Development Introduction to Mobile and Distributed Applications.

Slides:



Advertisements
Similar presentations
Introduction Why do we need Mobile OGSI.NET? Drawbacks:
Advertisements

Distributed Processing, Client/Server and Clusters
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Jaringan Informasi Pengantar Sistem Terdistribusi oleh Ir. Risanuri Hidayat, M.Sc.
SWE 316: Software Design and Architecture
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Distributed components
Technical Architectures
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
.NET Mobile Application Development Distributed Application Design.
City University London
Chapter 13 Physical Architecture Layer Design
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Client/Server Architecture
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Client/Server Architectures
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
Distributed Computing Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed System Models Dated: 7 th Sept 2006.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Distributed Systems: Concepts and Design Chapter 1 Pages
Distributed Processing and Client/Server
Architectures of distributed systems Fundamental Models
Types of Operating Systems
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Multiprossesors Systems.. What are Distributed Databases ? “ A Logically interrelated collection of shared data ( and a description of this data) physically.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Living in a Network Centric World Network Fundamentals – Chapter 1.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Architecture Models. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Living in a Network Centric World Network Fundamentals – Chapter 1.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
Client/Server Computing
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Chapter 8 – Cloud Computing
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Client – Server Architecture A Basic Introduction 1.
Version 4.0 Living in a Network Centric World Network Fundamentals – Chapter 1.
Distributed File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
Fault – Tolerant Distributed Multimedia Streaming Web Application By Nirvan Sagar – Srishti Ganjoo – Syed Shahbaaz Safir
Chapter 12: Architecture
Living in a Network Centric World
Living in a Network Centric World
CSC 480 Software Engineering
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
Distributed Systems Bina Ramamurthy 11/12/2018 From the CDK text.
Living in a Network Centric World
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Chapter 12: Physical Architecture Layer Design
Architectures of distributed systems Fundamental Models
Living in a Network Centric World
Architectures of distributed systems Fundamental Models
Living in a Network Centric World
Living in a Network Centric World
Architectures of distributed systems
Living in a Network Centric World
Architectures of distributed systems Fundamental Models
Living in a Network Centric World
Living in a Network Centric World
#01 Client/Server Computing
Living in a Network Centric World
Presentation transcript:

.NET Mobile Application Development Introduction to Mobile and Distributed Applications

Introduction  In this course we will consider the development of mobile applications, with examples based on the Microsoft.NET Framework  Mobile applications are often clients in distributed systems and we approach the course from this perspective  We will consider >distributed systems and their characteristics >mobile devices and their characteristics >software technologies for mobile and distributed computing >designing mobile applications >security in mobile and distributed applications

Distributed Applications  A distributed application is >an application that spreads its execution over more than one computer >individual distributed components interact via the network  Two key criteria for distributed applications >Performance ­can service thousands of simultaneous user >Scalability  Reasons for using distributed architectures >integrating existing legacy systems >providing synchronisation and communication between multiple clients (e.g. multiplayer gaming system) >support the use of thin clients >resource sharing, reliability and fault tolerance ­can be scaled-up to cope with more users or requests

Characteristics of Distributed Applications  Execution spread over more than one computer  Components are networked  Different failure modes. >failures are often partial – i.e. only one of the required components may fail whilst others continue operating. This is different to non-distributed applications >failure may not be due to failure of components but failure of the network connection  Application appears as single coherent whole >user is not aware of the various networked machines (transparency)  Concurrency is the norm in networked systems >servers interact with multiple clients >multiple clients may access a resource simultaneously >clients use multi-threading to maintain responsiveness

Real-World Challenges  Distributed applications have to contend with a variety of >connectivity characteristics ­bandwidth differences ­intermittent connectivity (mobile devices) >usage patterns >hardware, operating systems and network platforms  Applications must also >provide security of data and resources, particularly with mobile devices that are easily lost or stolen >ensure user privacy >be resilient to attack

Distributed Architectures  Client/Server >Most common distributed architecture >Servers provide services; Clients make requests of servers to use services  Peer-Peer >All components play similar role; no distinction between client and server  Multi-tier >Standard layered design pattern applied to distributed applications  Mobile code >Distributed components downloaded on demand

Other Architectural Components  Thin clients >user interface is executed on a computer local >all application logic executed on remote compute server  Caches >store of recently used data and objects located closer to the user >used to overcome network latencies  Proxies >‘Stand-ins’ for components on remote machines

Distributed Technologies  A variety of technologies exist for building distributed applications  Most important technologies are >Remote Procedure Call (RPC) ­allows a client to call a procedure running on a server ­not available on mobile devices >XML Web Services ­components hosted by Web servers allow simple RPC via XML ­available to mobile and desktop platforms >Messaging ­lightweight asynchronous communication over variety of mechanisms ( , SMS, etc)

Distributed Environments  Several key distributed application development technologies exist >CORBA >Java / Java Micro-edition (J2SE/J2ME) >.NET /.NET Compact Framework  Both Java and.NET support >development on both desktop and mobile platforms >remote object interaction >XML Web services >messaging  We will use.NET and the.NET Compact Framework as our example throughout this course

Mobile Devices  Mobile devices are >small, personal, intermittently networked devices >increasingly popular >becoming more important as clients in distributed systems  Mobile devices present particular challenges to distributed application designers due to their >limited power and resources >intermittent connectivity >security

Designing Distributed Applications  Designing good distributed applications requires adherence to several design principles >Principle of Locality ­related parts of application should be located in close proximity ­data should be kept close to where it is used >Principle of Sharing ­resources shared to minimize load >Principle of Parallelism ­deploying load across multiple servers/devices to achieve appropriate performance and enable scaling

Security  User privacy and security of data and resources is of paramount importance.  Three key aspects >Confidentiality >Integrity >Availability  Security is particularly important for mobile devices, which are easily lost or stolen >A secured corporate network can easily be compromised by the loss or theft of a single mobile device

 In this session we have >introduced the field of mobile and distributed applications development >highlighted the areas we will study in the rest of the course  In the next session we will consider >Mobile devices >Mobile devices as clients in distributed applications >Particular challenges of mobile devices Summary