Kamis, 19 Juni 2014

Penjelasan WPF,WCF, WWF dan WCS



Microsoft NET Framework. 3.0

Microsoft NET Framework. 3.0


Microsoft NET Framework. 3.0 (sebelumnya WinFX), adalah model pemrograman baru pengelola kode untuk Windows. Hal Ini menggabungkan kekuatan Framework NET 2.0 dengan empat teknologi baru Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), dan Windows CardSpace (WCS, sebelumnya “InfoCard”). Gunakan Microsoft NET Framework 3,0 untuk membangun aplikasi dengan mendapatkan pengalaman pengguna menarik secara visual, komunikasi lancar, melintasi batas-batas teknologi, kemampuan untuk mendukung berbagai proses bisnis dengan cara cara yang lebih mudah untuk mengelola informasi online pribadi Anda. Hal Ini lebih maju dari WinFX teknologi yang Anda tahu sebelumnya, dan sekarang berganti dengan nama baru yang mengidentifikasi persis untuk itu. Selanjutnya versi Framework yang bakal muncul dari Microsoft kita tunggu perkembangannya.

1. WPF (Windows Presentation Foundation)

Windows Presentation Foundation, sebelumnya diberi nama kode Avalon, merupakan sebuah subsistem user interface dan API berbasis XML dan gambar vector. User interface ini merupakan hardware grafis komputer dan teknologi Direct3D.
WPF adalah subsystem pada .NET Framework 3.0 yang berfungsi menangani :
a. Grafik yang bertipe vector atau raster.
b. Audio dan video.
c. Menggambar objek 2D dan 3D.
d. Animasi.
e. Databinding.

WPF memisahkan antara antarmuka (User Interface/UI) dengan logika bisnis. Antarmuka pada WPF menggunakan file dengan format eXtensible Application Markup Language (XAML, baca Zammel) yang mengikuti format penulisan XML. WPF dapat digunakan untuk membuat aplikasi desktop dan juga web. Dalam perkembangannya dikenallah teknologi dengan nama Silverlight yang merupakan mengembangan WPF untuk aplikasi web.
WPF (Windows Presentation Foundation) adalah teknologi baru yang dirilis oleh Microsoft bersamaan dengan .NET Framework 3.0 (versi sekarang adalah 3.5). Selain WPF .NET 3.0 juga menyertakan beberapa teknologi baru yaitu WF (Workflow Foundation) untuk pemodelan dan WCF (Windows Communication Foundation) yang merupakan pengembangan dari Web Services.
WPF merupakan next generation graphic platform yang memungkinkan anda membuat advance UI (User Interface) yang memadukan document, media, 2D dan 3D, dan animation yang memiliki kemiripan dengan pemrograman web. WPF dapat digunakan pada platform windows seperti Win XP, Vista, dan Windows Server 2003 / 2008.
Sebelum ada teknologi WPF untuk mengembangkan aplikasi windows anda harus menggunakan beberapa teknologi yang berbeda, misalnya untuk menambahkan form user control seperti button kedalam aplikasi anda harus menggunakan komponen Windows Form, untuk menambahkan 2D Graphic anda harus menggunakan library GDI+, untuk 3D Graphic anda harus menggunakan library DirectX atau OpenGL.
WPF didesain untuk menyediakan solusi yang utuh untuk pengembangan aplikasi, WPF menyediakan integrasi dari teknologi yang berbeda, dengan WPF anda dapat menggabungkan komponen vector graphic, complex animation, dan media kedalam aplikasi. Fitur yang baru dalam WPF (.NET 3.5) adalah fitur 3D Graphic yang sudah built-in berbasis pada teknologi DirectX.
Apa saja yang harus diinstall?
Untuk menggunakan teknologi ini anda memerlukan beberapa software yang harus diinstall yaitu:
· Visual Studio 2008 / Visual C# Express 2008 (bagi pengguna C#) / Visual Basic 2008 Express (bagi pengguna vb). Visual Studio 2008 menggunakan .NET Framework 3.5 yang sudah support WPF yang terbaru saat ini. Vesi express edition dapat anda download di http://www.microsoft.com/express/download
· Microsoft Expression Blend 2.5 June 2008 Preview, anda juga dapat mendownload preview edition secara gratis.
XAML (Extensible Application Markup Language)
WPF menggunakan XAML untuk merepresentasikan UI dan user interaction. XAML dibangun dari XML dan penulisanya mirip dengan XHTML yang sering anda gunakan dalam membuat aplikasi berbasis web. XAML juga mendukung prinsip code-behind seperti pada aplikasi ASP.NET. Dengan menggunakan XAML, designer dan programmer dapat bekerja bersama dalam mengembangkan aplikasi, pertama designer membuat design UI kemudian programmer melanjutkan dengan menambah kodenya dalam bahasa yang disupport oleh .NET seperti C# / VB.NET.
Program sederhana menggunakan WPF
Setelah mengenal sekilas apa itu teknologi WPF, pada sesi ini anda akan mencoba membuat aplikasi sederhana menggunakan WPF. Anda dapat membuat aplikasi WPF langsung dari Visual Studio 2008, namun untuk membuat kreasi graphic yang lebih menarik anda dapat menggunakan Microsoft Expression Blend untuk membuat tampilan graphicnya baru kemudian diteruskan dengan menambahkan kode C# / VB.NET menggunakan Visual Studio 2008.

Langkah pertama buka Microsoft Blend Expression, klik File – New Project – Pilih WPF Application – beri nama projectnya “Kalkulator”, pilih bahasa pemrograman sesuai selera anda (C# atau VB).
Design tampilannya sesuai dengan selera anda, karena saya bukan seorang graphic designer maka saya kurang bisa membuat tampilan yang menarik, contoh ini hanya menunjukan kepada anda bahwa anda bisa mendesign tampilan dengan lebih leluasa dengan menggunakan Expression Blend sama sepert anda menggunakan Macromedia Flash atau Adobe Photoshop.



Tampilan yang anda design akan secara otomatis dikonversi kedalam format XAML, jika anda ingin melihat kode XAML klik di tab XAML disebelah kanan, maka akan tampak kode sebagai berikut (kode yang saya tulis pada listing dibawah ini hanya sebagian).

1: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3: x:Class="Kalkulator.Window1" x:Name="Window" Title="Window1" Width="362" Height="416">
4: <Grid x:Name="LayoutRoot">
5: <Image Margin="105.577,17,97.68,0" Source="actuallogo.png" Stretch="Fill" Height="60.66"          VerticalAlignment="Top"/>
6: <Image Margin="21,17,0,0" Source="erick.jpg" Stretch="Fill" Height="77.621" VerticalAlignment="Top" Width="79.333" HorizontalAlignment="Left"/>
7: <Label Margin="21,111,57.107,0" VerticalAlignment="Top" Height="34" Content="SAMPLE KALKULATOR " FontSize="24" FontWeight="Bold">
8: <Label.Foreground>
9: <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
10: <GradientStop Color="#FF2662CA" Offset="0"/>
11: <GradientStop Color="#FFF81717" Offset="1"/>
12: </LinearGradientBrush>
13: </Label.Foreground>
14: </Label>
15: </Grid>
16: </Window>

Jika anda perhatikan kode XAML yang digenerate oleh Expression Blend hampir mirip dengan XHTML yang biasa anda gunakan dalam membangun websites.
Setelah selesai mendesign tampilan di Expression Blend sekarang saatnya untuk menambahkan code-behind pada Visual Studio 2008. Buka aplikasi yang barusan anda buat dengan menggunakan Visual Studio, pilih New – Open Project – Kalkulator – kemudian isi property Name dari masing-masing property yang ada.


Kemudian tambahkan kode pada saat tombol diklik (event onClick). Tambahkan kode sebagai berikut:


1: private void btnHitung_Click(object sender, RoutedEventArgs e)
2: {
3: int intBil1 = 0, intBil2 = 0, intHasil = 0;
4: intBil1 = Convert.ToInt32(txtBil1.Text);
5: intBil2 = Convert.ToInt32(txtBil2.Text);
6:
7: if (rdTambah.IsChecked == true)
8: {
9: intHasil = intBil1 + intBil2;
10: MessageBox.Show("Hasil Penjumlahannya :" + intHasil.ToString());
11: }
12: else
13: {
14: intHasil = intBil1 + intBil2;
15: MessageBox.Show("Hasil Pengurangan : " + intHasil.ToString());
16: }
17: }
Untuk mencoba menjalankan aplikasinya tekan Ctrl+F5.



Contoh aplikasi diatas hanya merupakan contoh aplikasi yang sangat sederhana yang bisa dibangun menggunakan WPF. Aplikasi WPF juga dapat digunakan untuk mengembangkan aplikasi 3D graphic dan game.

2. WCF (Windows Communication Foundation)

Windows Communication Foundation, sebelumnya diberi nama kode Idigo, merupakan sistem messaging berorientasi service yang memungkinkan program untuk berinteroperasi secara lokal atau remote seperti halnya web service.
Windows Communication Foundation (WCF) adalah suatu kerangka kerja untuk membangun aplikasi berorientasi layanan. WCF dapat mengirim data sebagai pesan asynchronous dari satu endpoint layanan lain. Sebuah endpointlayanan dapat menjadi bagian dari layanan terus tersedia diselenggarakan oleh IIS, atau dapat menjadi layanan host dalam sebuah aplikasi. Endpoint dapat menjadi klien dari layanan yang meminta data dari endpoint layanan. Pesan tersebut bisa sesederhana satu karakter atau kata dikirim sebagai XML, atau sebagai kompleks sebagai aliran data biner. Sebuahskenario beberapa sampel meliputi:

1. Sebuah layanan aman untuk memproses transaksi bisnis.
2. Sebuah layanan yang memasok data saat ini kepada orang lain, seperti laporan lalu lintas atau layanan monitoring lainnya.
3. Sebuah layanan chatting yang memungkinkan dua orang untuk berkomunikasi atau bertukar data secara real time.
4. Sebuah aplikasi dashboard yang jajak pendapat satu atau lebih layanan untuk data dan menyajikan dalam presentasilogis.
5. Alur kerja diimplementasikan menggunakan Windows Workflow Foundation sebagai layanan WCF.

Sewaktu membuat aplikasi seperti itu mungkin sebelum adanya WCF, WCF membuat perkembangan endpoint lebih mudah dari sebelumnya. Singkatnya, WCF dirancang untuk menawarkan proses yang diatur untuk membuat Web Service dan Web Service Client
WCF adalah platform yang fleksibel . Karena fleksibilitas ekstrim ini , WCF juga digunakan dalam beberapa produk Microsoft lainnya.
Teknologi pertama untuk memasangkan dengan WCF adalah Windows Workflow Foundation (WF). Alur kerja menyederhanakan pengembangan aplikasi dengan encapsulating langkah dalam alur kerja sebagai " kegiatan". Dalam versi pertama Windows Workflow Foundation, pengembang harus membuat tuan rumah untuk alur kerja. Versi berikutnya dari Windows Workflow Foundation terintegrasi dengan WCF. Yang memungkinkan setiap alur kerja untuk dapat dengan mudah host di layanan WCF.
Berikut terdapat beberapa fitur dalam WCF, antara lain :
1. Service Orientation
Salah satu konsekuensi dari menggunakan standar WS adalah bahwa WCF memungkinkan untuk membuat aplikasiberorientasi layanan. Arsitektur berorientasi layanan (SOA) adalah ketergantungan pada layanan Web untuk mengirim dan menerima data.
2. Multipple Message Patterns
3. Service Metadata
WCF mendukung metadata layanan penerbitan menggunakan format yang ditetapkan dalam standar industri sepertiWSDL, XML Schema dan WS-Policy. Metadata ini dapat digunakan untuk secara otomatis menghasilkan dan mengkonfigurasi klien untuk mengakses layanan WCF. Metadata dapat dipublikasikan melalui HTTP dan HTTPS ataumenggunakan Layanan Metadata standar Exchange Web.
4. Security
5. Multiple Transports and Encodings
6. AJAX dan REST support
REST contoh dari teknologi yang berkembang Web 2.0. WCF dapat dikonfigurasi untuk memproses "plain" data XMLyang tidak dibungkus dalam amplop SOAP. WCF juga dapat diperluas untuk mendukung format XML tertentu, sepertiATOM (RSS standar populer), dan bahkan format non-XML, seperti JavaScript Object Notation (JSON).

3. WF (Windows Workflow Foundation)

Windows Workflow Foundation dapat digunakan untuk tugas otomasi dan transaksi terintegrasi.WWF adalah bagian integral dari sebuah perkembangan dotnet framework yang terbaru yaitu .NET Framework 3.5 selain WCF (Windows Communication Foundation) dan WPF (Windows Presentation Foundation). Dengan menggunakan WWF diharapkan mempermudah programmer dotnet untuk membuat sebuah aplikasi berbasis workflow secara cepat. Kenapa bisa cepat karena di dalamnya sudah disediakan beberapa programming model, in process workflow engine serta set tools yang sudah lengkap untuk mempercepat pembuatan aplikasi berbasis workflow.
Garis besar dari pemanfaatan WWF saat ini adalah : 
Workflow Designer di Visual Studio 2008 
Workflow classes dan type data 
In Process Workflow Engine (sebuah engine yang sudah built-in di dalamnya utk menjalankan proses workflow) 
Dengan workflow diharapkan dapat menterjemahkan apa yang terjadi di dalam kondisi bisnis sebenarnya, dan di dalamnya terdapat penjelasan atau bagaimana kita melaksanakan workflow tersebut yang disebut sebagai Activity.

Bagaimana Sebuah Workflow dapat Bekerja?
Sebuah atau beberapa workflow harus berada dalam 1 buah HOST apa yang dimaksud dengan host ? Host adalah sebuah proses yang berjalan dalam aplikasi yang akan menggunakan workflow tersebut dalam menjalankan aktifitas-nya. Contoh-contoh HOST adalah aplikasi berbasis WEB ASP.NET, Windows Application atau Services dan juga yang sudah ada yaitu workflow yang sudah built-in yang nempel di Sharepoint Portal 2007 dan Windows Share Point Services 3.0

Bagaimana Cara Coding di WWF?
Sebagaimana sebuah bagian dari proses pengembangan aplikasi maka tentunya ada standard bagaimana kita melakukan coding dengan menggunakan WWF, ternyata ada 3 cara yang bisa dilakukan utk melakukan coding dengan WWF. 
Code-Only Authoring Mode (tidak perlu menggunakan VS 2008 utk compile) 
Code-Separation Authoring Mode ( default dengan menggunakan VS 2008, definisi workflow dalam XAML dan coding di dalam code behind). 
No-Code Authoring Mode (XAML, bisa di compile atau di upload ke dalam Host process.) 

Ada Berapa Type Workflow ?
Saat ini ada 2 type workflow yang biasa digunakan :

1. Sequential Workflow (terlebih dahulu membuat aktifitas yang sudah bisa diprediksi dalam proses sekuensial) 
2. State Machine Workflow (perubahan status workflow berdasarkan respon dari event) 
Hampir semua perangkat lunak yang digunakan di perusahaan-perusahaan/organisasi-organisasi saat ini memiliki tujuan yang sama, yaitu mendukung proses bisnis. Beberapa proses sepenuhnya otomatis,hanya mengandalkan pada komunikasi antar aplikasi. Sedang lainnya dan bahkan hal ini cenderung mayoritas, bergantung pada manusia, seperti untuk memulai proses , menyetujui proses dengan menggunakan dokumen, menyelesaikan segala situasiyang luar biasa yang timbul, dan banyak lagi.Dalam kedua kasus ini (manual & otomatis),sering kali mungkin untuk menentukan serangkaian langkah tersebut dibutuhkan suatu proses yang disebut alur kerja (WorkFlow), yang menggambarkan kegiatan orang-orang dan perangkat lunak yang terlibat dalam proses. Dimana alur kerja tersebut merupakan dasar dari pengerjaan suatu aplikasi/sistem. Setelah alur kerja ini ditetapkan,aplikasi dapat dibangun sesuai definisi untuk mendukung proses bisnis.
Menciptakan dan mengeksekusi alur kerja dalam perangkat lunak merupakan tantangan yang unik.Beberapa proses bisnis memerlukan proses dalam hitungan menit, jam, hari bahkan minggu untuk menyelesaikannya. Alur kerja yang berjalan lama juga biasanya akan berkomunikasi dengan perangkat lunak lain, tantangan sebenarnya adalah Bagaimana komunikasi antara manusia dan aplikasi tetap berjalan. Sebenarnya pertukaran informasi antar aplikasi boleh dikatakan relatif mudah, namun untuk manusia cenderung ingin lebih banyak fleksibilitas, termasuk hal-hal seperti kemampuan untuk mengubah bisnis proses sewaktu-waktu.Bagaimana system dapat menangani beragam hal yang tak terduga mengenai perilaku manusia? Tanpa landasan yang tepat untuk membangun system yang memenuhi syarat-syarat seperti ini sangatlah sulit.
Microsoft Windows Workflow Foundation diciptakan untuk mengatasi permasalahan fleksibelitas alur kerja dalam suatu bisnis proses.Komponen inti dari Microsoft.NET Frameworkakan menjadi bagian mendasar dari platform Windows untuk pengembang.Windows Workflow Foundation menyediakan sebuah kerangka umum untuk membangun Workflow ke aplikasi , apakah alur kerja mengkoordinasikan interaksi di antara perangkat lunak, interaksi di antara orang-orang, atau keduanya.
Microsoft Workflow Foundation sendiri direlease pertama kali bersamaan dengan.NETframework 3.0 dan sudah disertakan dalam Visual Studio 2008. Apa dan bagaimana membuat workflow foundation mari kita coba untuk membuatnya.

Buka Visual Studio 2010 , New Project pada windows New Project , Pilih Bahasa Pemrograman , selanjutnya Pilih Workflow pilih Workflow Console Application sebagaimana gambar berikut :


New Project

Jika anda sudah memilih Workflow Console Application , selanjutnya akan tampil Area Kerja sebagaimana gambar berikut :



Selanjutnya , kita dapat men Drop Control Flow Sequence ke Area Kerja kita
Setelah kita men drop Sequence kita mendeklarasikan Arguments, caranya dengan mengeklik tab Arguments d bawah, Sebelumnya kita pilih dahulu sequence . Arguments adalah parameter yang akan berhubungan dengan source code kita nantinya


Argument

Selanjutnya sesudah kita mendeklarasikan Arguments kita deklarasikan variable , klik tab Variables dibagian bawah. Variables adalah parameter yang berhubungan denganWorkflow Foundation.


Variable

Selanjutnya kita Mensinkronkan antara parameter yang ada di source code kita (Argument) dengan parameter yang ada di WF, caranya dengan mendeklarasikan kedalam Assign, caranya , masuk dari toolbox anda klik tab Primitives, di dalam tab primitives berisi beberapa proses sederhana dari suatu program, kita pilih Assign, selanjutnya drop kedalam sequence, lalu kita isi hubungan antara Argument dan variable sebagaimana gambar berikut :


Assign

Selanjutnya Kita dapat menampilkan Proses WF kita dengan menggunakan proseswriteline, caranya sama dengan saat kita masukkan Assign, tinggal drop Writelinekedalam sequence selanjutnya kita isi dengan variable dari WF yang akan di tampilkan sebagaimana gambar berikut :


Writeline

Selanjutnya kita dapat melakukan pemrograman seperti biasa, kita masuk ke module1.Vb ketik source code berikut :
Imports System.Activities
Imports System.Activities.Statements
Imports System.Diagnostics
Imports System.Linq
Module Module1
Dim s As Sequence
Sub Main()
Dim d As New Dictionary(Of String, Object)()
Dim A As Integer
Dim B As Integer
Console.Write("Nilai Parameter 1 ")
A = Console.ReadLine()
Console.Write("Nilai Parameter 2 ")
B = Console.ReadLine()
d.Add("Arg1", A)
d.Add("Arg2", B)
WorkflowInvoker.Invoke(New Workflow1(), d)
Console.ReadKey()
End Sub
End Module 

Selanjutnya Jalankan program kita maka akan tampil sebagaimana gambar berikut :


Hasil

4. WCS (Windows Card Space)

Windows Card Space, sebelumnya diberi nama kode infoCard. Merupakan komponen software yang bertugas menyimpan data pribadi individu dengan aman dan menyediakan antar muka untuk memilih identitas untuk transaksi tertentu, misalnya logging ke website.

5. LINQ 

LINQ (Language‐Integrated Query) merupakan salah satu komponen baru yang dipaket di dalam .NET Framework 3.5. Language Integrated Query adalah komponen pada .NET Framework 3.5 yang memungkinkan menambahkan kemampuan query data seperti perintah SQL pada bahasa yang digunakan pada .NET Framework (seperti pada C# 3.0 atau VB.NET 9.0).
Dengan LINQ, Microsoft berusaha menyeragamkan sintaks fungsi-fungsi yang berhubungan dengan akses data. Lebih dari sekadar seragam, LINQ bahkan diintegrasikan ke dalam bahasa‐bahasa pemrograman .NET (Visual Basic dan C#) sebagai key words (kata‐kata kunci) dengan sintaks mirip seperti SQL (Structured Query Language). Jadi dengan LINQ, kita bisa menggunakan sintaks dan key words yang sama untuk mengakses data dimanapun tersimpan, baik dalam memory, file, database, atau XML.

Arsitektur yang mendasari LINQ terbagi menjadi 3 bagian :
1. Standard Query Operators; kumpulan dari operator‐operator yang bisa digunakan sebagai parameter untuk mengakses data dengan LINQ
2. Language Extensions; semua bahasa pemrograman .NET dapat dimodifikasi untukmengintegrasikan LINQ sebagai sintaks dasar (bukan sekadar fungsi).
3. LINQ Providers; bagian ini bertanggungjawab untuk memindah‐mindahkan data dari sumber data asli ke memory dalam bentuk object yang mengimplementasikan interface IEnumerable.

6. ADO .NET

ADO.NET merupakan bagian dari .NET Framework. ADO.NET digunakan untuk menangani akses data. Dengan ADO.NET dapat bekerja dengan database. ADO.NET adalah teknologi data access dari Microsoft. ADO.NET merupakan koleksi class-class yang merupakan bagian dari .NET Framework. ADO.NET dapat digunakan untuk mengakses banyak data source seperti :
1. Microsoft SQL Server.
2. Oracle.
3. Microsoft Access.
4. XML.
5. OLE DB.
6. ODBC.
7. Dan lain-lain.

Beberapa pengertian mengenai ADO.NET, sebagai berikut :
1. ADO.NET adalah bagian dari. NET Framework.
2. ADO.NET terdiri dari sekumpulan kelas yang digunakan untuk menangani akses data.
3. ADO.NET sepenuhnya didasarkan pada XML.
4. ADO.NET ini, berbeda dengan ADO, tidak ada objek Recordset.

7. Parallel LINQ

Parallel Linq merupakan technology terbaru yang sedang dikembangkan dan sangat luas penggunaannya terutama pada sistem terdistribusi.
PLINQ ( Parallel Language Integrated Query ) merupakan implementasi LINQ ( Language Integrated Query ) yang dapat memungkinkan pemrosesan LINQ to Object menggunakan core prosesor yang ada.
PLINQ adalah mesin eksekusi query yang menerima setiap LINQ-to-Objek query atau LINQ-to-XML dan otomatis menggunakan beberapa prosesor atau core untuk eksekusi ketika mereka tersedia.
Bahasa axum, Reactive Extension ( Rx ) dan DryadLINQ merupakan library parallel yang sedang dikembangkan.
Axum merupakan bahasa pemrograman konkuren yang dibangun pada prinsip dari isolasi, actor dan message-passing untuk meningkatkan keamaan aplikasi, tingkat responsive, skala dan produktifitas developer. Merupakan bahasa pemrograman agent.
Reactive Extensio (Rx) merupakan sebuah library untuk melakukan dan merangkai asynchronous dan program berbasis even menggunakan observable sequence dan LINQ-style query operator.
Dryad Linq merupakan perangkat programing yang digunakan dalam menulis data aplikasi parallel berskala besar yang berjalan pada cluster pc. Mendukung data-parallel computing untuk digunakan didalam banyak jenis aplikasi, termasuk varietas aplikasi data mining, image dan stream processing, serta beberapa kumputasi scientific.

8. Task Parallel Library

Task Parallel Library memungkinkan developer memanfaatkan kekuatan dari multi core processor. Task Parallel Library adalah satu set jenis publik dan API di System.Threading dan System.Threading.Tasks ruang nama dalam versi .NET Framework 4.0 . Tujuan dari Task Parallel Library adalah untuk membuat pengembang lebih produktif dengan menyederhanakan proses penambahan paralelisme dan konkurensi untuk aplikasi.
Task Parallel Library skala derajat konkurensi dinamis yang paling efisien menggunakan semua prosesor yang tersedia. Selain itu. Task Parallel Library menangani partisi dari pekerjaan, penjadwalan thread di ThreadPool, dukungan pembatalan manajemen negara, dan lainnya rincian tingkat rendah lainnya. Dengan menggunakan Task Parallel Library, anda dapat memaksimalkan kinerja dari kode Anda sambil memfokuskan pada kerja program yang ingin anda capai.
Dimulai dengan Framework .NET 4.0, Task Parallel Library adalah cara yang lebih sering digunakan untuk menulis kode multithreaded dan paralel. Namun, tidak semua kode cocok untuk paralelisasi, misalnya jika loop hanya melakukan sejumlah kecil pekerjaan pada setiap iterasi, atau tidak berjalan selama iterasi banyak, maka overhead dari paralelisasi dapat menyebabkan kode untuk menjalankan lebih lambat.
Selanjutnya, paralelisasi seperti kode multithreaded menambah kompleksitas eksekusi program. Meskipun Task Parallel Library menyederhanakan skenario multithreaded. Kita terlebih dahulu harus memiliki pemahaman dasar konsep threading sehingga dapat menggunakan Task Parallel Library dengan efektif.