CSC 465E Mobile Application in Programming Presentation
CSC 465E Mobile Application in Programming Presentation
GROUP WORK
•Group 3 Members
•Choge Vincent COM/0016/19
•Reinhard Simiyu Com/0043/20
•Topics
•9. Synchronization and Replication of Data
•11. Active Transactions
•12. Mobile Security
9). SYNCHRONIZATION AND REPLICATION OF DATA IN MOBILE
APPLICATION PROGRAMMING
•It refers to the processes of ensuring that data across multiple devices or servers is
consistent and up-to-date. This is crucial for maintaining data integrity and providing
a seamless user experience in applications that operate on different platforms or
have distributed components.
FACTORS TO CONSIDER
Consistency: Ensures that users see the same data across various devices or servers.
Improved User Experience: Users can seamlessly switch between devices without losing data or
experiencing discrepancies.
Fault Tolerance: Replication provides redundancy, reducing the risk of data loss in case of a server
failure.
Scalability: Synchronization and replication support the scaling of applications across multiple
users and devices.
DISADVANTAGES
Data Integrity: Ensures that data remains consistent and accurate across the entire system.
User Satisfactions: Provides a seamless experience for users who access the application from
multiple devices.
Business community: Replication ensures data availability, contributing to business continuity in
case of system failures.
Support for distributed System: it is fundamental for the operation of distributed systems,
where data is spread across multiple nodes or devices
Data Security: the processes can include security measures to ensure the secure transfer
and storage of sensitive information.
Scalability: Replication supports the scaling of applications by distributing the workload
across multiple servers, improving performance and accommodating a growing user base.
TYPES OF SYNCHRONIZATION AND
REPLICATION OF DATA
Time-based synchronization: Data is synchronized at predefined intervals.
Event-based synchronization: Synchronization occurs in response to specific events, such as data updates.
Master-Slave Replication: One server (master) is the primary source of data, and changes are replicated to
one or more secondary servers (slaves).
Peer-to-Peer Replication: All nodes in the network can act as both sources and destinations for data
replication.
Manual Synchronization: Users initiate the synchronization process manually and allows users to manage
bandwidth usage and control the timing of updates.
11). ACTIVE TRANSACTION IN MOBILE APPLICATION
PROGRAMMING
•Active transactions refer to ongoing processes involving the manipulation of data that have not yet been
committed or rolled back. These transactions are typically associated with database operations and play a
crucial role in ensuring data consistency and integrity.
Factors to Consider
Isolation Level: Define the degree to which one transaction can see the uncommitted changes of another.
Options include read committed, repeatable read, and serializable.
Concurrency Control: Implement mechanisms to manage concurrent access to data to prevent conflicts and
maintain consistency.
Error Handling: Establish strategies for handling errors during transaction execution to avoid data
corruption and ensure proper recovery.
Transactions boundaries: Clearly define the beginning and end of transactions to manage their scope and
duration effectively.
ADVANTAGES
Data Consistency: Active transactions ensure that data remains consistent during complex operations and that
changes are applied cohesively.
Concurrency Control: Transactions enable the concurrent execution of multiple operations while maintaining
control over data access, preventing conflicts.
Atomicity: Transactions follow the principle of atomicity, ensuring that either all the changes within a
transaction are applied, or none at all, preventing partial updates.
Disadvantages
Performance Overhead: Active transactions can introduce performance overhead, especially in scenarios with
high concurrency, due to the need for isolation and coordination.
Potential Deadlocks: Poorly managed concurrency control may lead to deadlocks, where transactions are
waiting indefinitely for each other to release locks.
IMPORTANCE
Data integrity: Active transactions are crucial for maintaining the integrity of the data by ensuring that changes
are applied in a controlled and consistent manner.
Error recovery: Transactions facilitate error recovery by allowing for the rollback of changes in case of unexpected
issues, preventing data corruption.
Data consistency: Active transactions help maintain data consistency by ensuring that a series of operations
either complete successfully and are committed or leave the data unchanged if an error occurs. This prevents
partial updates and inconsistencies within the database.
Atomicity: Transactions follow the principle of atomicity, meaning that all changes within a transaction are
treated as a single, indivisible unit. If any part of the transaction fails, the entire transaction can be rolled back,
preserving the integrity of the data.
Concurrency Control: In a mobile environment where multiple users may access and modify data simultaneously,
transactions play a crucial role in managing concurrency. They provide mechanisms to control access to shared
resources, preventing conflicts and ensuring that transactions are executed in an orderly manner.
TYPES OF ACTIVE TRANSACTIONS
Read-only transaction: Transactions that only read data without making any modifications. These
are suitable for scenarios where data consistency is essential, but updates are unnecessary.
Read-Write Transactions: Transactions that involve both reading and modifying data. These are
common for scenarios where data needs to be updated while ensuring consistency.
Long-running Transactions: Transactions that span an extended period, such as those involving
complex computations or interactions with external services. Proper management is crucial to
avoid performance issues.
Nested Transactions: Transactions that contain other transactions. Nested transactions must
adhere to the atomicity principle, ensuring that either the entire nested transaction is committed
or rolled back.
12). MOBILE SECURITY IN MOBILE APPLICATION
PROGRAMMING
•Mobile security refers to the measures and practices implemented to protect mobile devices, applications, and
data from unauthorized access, breaches, and other security threats. It encompasses a range of techniques and
protocols to ensure the confidentiality, integrity, and availability of information on mobile platforms.
Factors to Consider
Data Encryptions: Implementing robust encryption algorithms to secure sensitive data stored on the device
and during data transmission.
Authentication Mechanisms: Employing strong user authentication methods, such as biometrics, PINs, or
passwords, to prevent unauthorized access to the mobile device and applications.
Secure communication protocols: Using secure communication protocols (e.g., HTTPS) to protect data during
transit between the mobile device and servers.
Device Management: Implementing mobile device management (MDM) solutions to monitor, secure, and
manage devices, including the ability to remotely wipe data in case of loss or theft.
Regular Security updates: Ensuring that both the operating system and mobile applications receive regular
security updates to patch vulnerabilities and protect against emerging threats.
ADVANTAGES
Data Protections: Mobile security safeguards sensitive data, protecting it from unauthorized
access or compromise, ensuring user privacy.
Prevention of Unauthorized access: Strong authentication mechanisms prevent unauthorized
users from gaining access to the device or sensitive information.
Secure communication: Using secure communication protocols ensures that data transmitted
between the mobile device and servers remains confidential and integral.
Business community: Mobile security measures contribute to business continuity by preventing
data loss, unauthorized access, and disruptions caused by security incidents.
DISADVANTAGES
Usability challenges: Strong security measures, such as complex authentication processes, may pose
usability challenges for users, leading to potential resistance in adopting security practices.
Resource Intensiveness: Implementing robust security features can consume device resources (CPU,
memory), affecting performance, especially on older or less powerful devices.
Complexity in implementation: Developing and maintaining effective security measures can be
complex, requiring expertise and careful consideration of various factors.
Balancing Security and User Experience: Striking the right balance between robust security and a
seamless user experience can be challenging, as overly strict security measures may impact usability.
IMPORTANCE OF MOBILE SECURITY
Protection of sensitive information: Mobile security is crucial for safeguarding sensitive user data,
including personal information, financial details, and confidential business data.
Prevention of Unauthorized access: It prevents unauthorized access to devices and applications, protecting
users from identity theft and ensuring the integrity of personal and corporate information.
Business trust and reputation: Maintaining strong mobile security enhances the trust of users and clients,
contributing to a positive reputation for the business or service provider.
Compliance with regulations: Mobile security is often necessary to comply with legal and regulatory
requirements governing the protection of user data and privacy.
Mitigation of Financial loss: Effective mobile security measures help mitigate the risk of financial losses
resulting from data breaches, unauthorized transactions, or other security incidents.
Protection against Malware and Cyber Threats: Mobile security protects devices and applications from
malware, phishing attacks, and other cyber threats that could compromise user data and device
functionality.
TYPES OF MOBILE SECURITY
•Device security: Focuses on securing the physical device, including authentication mechanisms,
encryption, and measures to prevent unauthorized access.
Network security: Involves securing data during transmission over networks, using secure
communication protocols and encryption to protect against eavesdropping and man-in-the-middle
attacks.
Application security: Concerned with securing mobile applications by implementing secure coding
practices, regular security audits, and protecting against common vulnerabilities.
Endpoint security: Focuses on securing endpoints, such as mobile devices, by implementing
measures like mobile device management (MDM) and endpoint protection solutions.
Identity and Access Management (IAM): Involves managing user identities, ensuring secure
authentication, and controlling access to sensitive data and applications.
Cloud security: Addresses security concerns related to cloud-based services and storage, ensuring
the protection of data stored in the cloud.