Blog

Preparing for GDPR- Useful resources to help you become compliant

 

Synetec-GDPR

Synetec is well underway to reforming it’s policies and procedures to ensure that Privacy is inherent in every process, product or website.

The GDPR will apply to all businesses handling data in Europe and that means there’s a lot of work to do if businesses want to make sure they comply with the legislation.

The GDPR is pretty similar to the UK’s governing law, the Data Protection Act 1998, which is based on the EU’s Data Protection Directive 1995. However, the new European regulations take this one step further and will no doubt be more closely regulated by the Information Commissioner’s Office (ICO), which is the body responsible for good data protection practice in the UK.

The GDPR will address the growing amount of data in circulation around Europe, ensuring it’s collected, managed and stored in a way that protects the interests of consumers. It puts more power in the hands of individuals, allowing them to specify what data is stored, what it’s used for and when it’s removed. It gives the individual more rights than before and ensures that all companies who process data observe these rights.

The GDPR provides the following rights for individuals:

  1. The right to be informed
  2. The right of access
  3. The right to rectification
  4. The right to erasure
  5. The right to restrict processing
  6. The right to data portability
  7. The right to object
  8. Rights in relation to automated decision making and profiling.
As a company you must have a valid lawful basis in order to process personal data. There are six available lawful bases for processing. These include:

So GDPR is a key piece of legislation to give people more rights over what organisations can do with their information. Depending on how much focus you already put on customer privacy, complying with GDPR might be a simple step or a lengthy undertaking. Either way, you should already be on your way to compliance and to assist readers we’ve gathered some useful resources below using the extensive library of guides available. We found these useful in our preparation and hope to simplify it for our readers.

12 Step Plan is a good starting point

A Guide to GDPR

GDPR Checklist for Small Businesses

 

Contact us if you need advice on your compliance requirements.

Synetec is an Agile solutions provider with expertise in diverse development technologies, such as Angular, the .Net Framework, SQL Server and other cloud friendly data stores. We are certified and have successfully delivered projects across different cloud technology stacks such as Microsoft Azure and AWS, delivering integration and development solutions since 2000.

We work with a number of the UK’s most respected financial institutions to deliver a range of innovative solutions. We have expertise in working with both established businesses as well as start-ups and extreme growth businesses.

Asynchronous Programming with Async and Sync C#

Synetec Async-Programming

Visual Studio 2012 introduces a simplified approach, async programming, that leverages asynchronous support in the .NET Framework 4.5 and the Windows Runtime. The compiler does the difficult work that the developer used to do, and your application retains a logical structure that resembles synchronous code. As a result, you get all the advantages of asynchronous programming with a fraction of the effort.

As developers we can avoid performance bottlenecks and enhance the overall responsiveness of our application by using asynchronous programming. However, traditional techniques for writing asynchronous applications can be complicated, making them difficult to write, debug, and maintain.

This topic contains the following sections.

  • Async Improves Responsiveness
  • Async Methods Are Easier to Write
  • What Happens in an Async Method
  • Complete Example

This topic provides an overview of when and how to use async programming and includes links to support topics that contain details and examples.

Async Improves Responsiveness

Asynchrony is essential for activities that are potentially blocking, such as when your application accesses the web. Access to a web resource sometimes is slow or delayed. If such an activity is blocked within a synchronous process, the entire application must wait. In an asynchronous process, the application can continue with other work that doesn’t depend on the web resource until the potentially blocking task finishes.

The following table shows typical areas where asynchronous programming improves responsiveness. The listed APIs from the .NET Framework 4.5 and the Windows Runtime contain methods that support async programming.

 

Application area Supporting APIs that contain async methods
Web access HttpClientSyndicationClient
Working with files StorageFileStreamWriterStreamReaderXmlReader
Working with images MediaCaptureBitmapEncoderBitmapDecoder

Asynchrony proves especially valuable for applications that access the UI thread because all UI-related activity usually shares one thread. If any process is blocked in a synchronous application, all are blocked. Your application stops responding, and you might conclude that it has failed when instead it’s just waiting.

When you use asynchronous methods, the application continues to respond to the UI. You can resize or minimize a window, for example, or you can close the application if you don’t want to wait for it to finish.

The async-based approach adds the equivalent of an automatic transmission to the list of options that you can choose from when designing asynchronous operations. That is, you get all the benefits of traditional asynchronous programming but with much less effort from the developer.

Async Methods Are Easier to Write

The Async and Await keywords in Visual Basic and the async and await keywords in C# are the heart of async programming. By using those two keywords, you can use resources in the .NET Framework or the Windows Runtime to create an asynchronous method almost as easily as you create a synchronous method. Asynchronous methods that you define by using async and await are referred to as async methods.

What Happens in an Async Method

The most important thing to understand in asynchronous programming is how the control flow moves from method to method. The following diagram leads you through the process.

The numbers in the diagram correspond to the following steps.

  1. An event handler calls and awaits the AccessTheWebAsync async method.
  2. AccessTheWebAsync creates an HttpClientinstance and calls the GetStringAsync asynchronous method to download the contents of a website as a string.
  3. Something happens in GetStringAsync that suspends its progress. Perhaps it must wait for a website to download or some other blocking activity. To avoid blocking resources, GetStringAsync yields control to its caller, AccessTheWebAsync.

GetStringAsync returns a Task where TResult is a string, and AccessTheWebAsync assigns the task to the getStringTask variable. The task represents the ongoing process for the call to GetStringAsync, with a commitment to produce an actual string value when the work is complete.

  1. Because getStringTask hasn’t been awaited yet, AccessTheWebAsync can continue with other work that doesn’t depend on the final result from GetStringAsync. That work is represented by a call to the synchronous method DoIndependentWork.
  2. DoIndependentWork is a synchronous method that does its work and returns to its caller.
  3. AccessTheWebAsync has run out of work that it can do without a result from getStringTask. AccessTheWebAsync next wants to calculate and return the length of the downloaded string, but the method can’t calculate that value until the method has the string.

Therefore, AccessTheWebAsync uses an await operator to suspend its progress and to yield control to the method that called AccessTheWebAsync. AccessTheWebAsync returns a Task(Of Integer) or Task<int> to the caller. The task represents a promise to produce an integer result that’s the length of the downloaded string.

Inside the caller (the event handler in this example), the process is repeated. The caller might do other work that doesn’t depend on the result from AccessTheWebAsync before awaiting that result, or the caller might await immediately. When the event handler reaches an await expression, the application focuses on the completion of GetStringAsync. The event handler is waiting for AccessTheWebAsync, and AccessTheWebAsync is waiting for GetStringAsync.

  1. GetStringAsync completes and produces a string result. The string result isn’t returned by the call to GetStringAsync in the way that you might expect. (Remember that the method already returned a task in step 3.) Instead, the string result is stored in the task that represents the completion of the method, getStringTask. The await operator retrieves the result from getStringTask. The assignment statement assigns the retrieved result to urlContents.

 

  1. When AccessTheWebAsync has the string result, the method can calculate the length of the string. Then the work of AccessTheWebAsync is also complete, and the waiting event handler can resume. In the full example at the end of the topic, you can confirm that the event handler retrieves and prints the value of the length result.

If you are new to asynchronous programming, take a minute to consider the difference between synchronous and asynchronous behavior. A synchronous method returns when its work is complete (step 5), but an async method returns a task value when its work is suspended (steps 3 and 6).

When the async method eventually completes its work, the task is marked as completed and the result, if any, is stored in the task.

Async away for speed and performance!

 

Contact us if you need advice on Asynchronous programming for your business.

Synetec is an Agile solutions provider with expertise in diverse development technologies, such as Angular, the .Net Framework, SQL Server and other cloud friendly data stores. We are certified and have successfully delivered projects across different cloud technology stacks such as Microsoft Azure and AWS, delivering integration and development solutions since 2000.

We work with a number of the UK’s most respected financial institutions to deliver a range of innovative solutions. We have expertise in working with both established businesses as well as start-ups and extreme growth businesses.

Drawdown’s 2018 Awards Shortlist

Synetec is delighted to announce that we’ve been shortlisted for the ‘Regulations / Compliance Handling’ category of The Drawdown’s Private Equity Services Awards for 2018!

The prestigious awards aim to recognise and reward private equity service providers who have demonstrated exceptional client service, innovative product development and strong and sustainable business growth over the past year.

At Synetec we’ve been busy using our extensive knowledge and understanding of the industry’s regulations to deliver the right solutions to our clients, ensuring they are able to meet their compliance obligations.

Being acknowledged by a leading industry publisher as one of the top regulatory and compliance handling service providers in the sector is fantastic and we’re very proud of this achievement.

The winners of the awards will be announced at a black tie dinner ceremony on 12 June 2018 at Plaisterers’s Hall, see The Drawdown for the full shortlist.

 

Contact us if you need advice on your compliance requirements.

 

Synetec is an Agile solutions provider with expertise in diverse development technologies, such as Angular, the .Net Framework, SQL Server and other cloud friendly data stores. We are certified and have successfully delivered projects across different cloud technology stacks such as Microsoft Azure and AWS, delivering integration and development solutions since 2000.

We work with a number of the UK’s most respected financial institutions to deliver a range of innovative solutions. We have expertise in working with both established businesses as well as start-ups and extreme growth businesses.

Page 1 of 1612345...10...Last »

RECENT POSTS

RECENT JOBS

ADDRESS

509 The Print Rooms
164-180 Union Street
London, SE1 0LH
Phone: 0208 1444 206
Website: synetec.co.uk
Email: info@synetec.co.uk

DISCLAIMER

Important: The information contained in this website is for general information purposes only. Any reliance you place on such information is therefore strictly at your own risk. Synetec Ltd endeavour to keep it up to date and correct.
All images are copyrighted to their respective owners.
Bitnami