Download presentation
Presentation is loading. Please wait.
1
.NET Mobile Application Development Introduction to Mobile and Distributed Applications
2
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
3
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
4
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
5
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
6
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
7
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
8
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 (e-mail, SMS, etc)
9
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
10
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
11
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
12
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
13
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.