CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... ·...

34
CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI Prodi Teknik Informatika Fakultas Ilmu Komputer

Transcript of CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... ·...

Page 1: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

CMJ251-Manajemen Jaringan Mobile

Dosen Pengampu :

5165-Kundang K Juman, Ir, MMSI Prodi Teknik Informatika Fakultas Ilmu Komputer

Page 2: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

.NET Compact Framework

Page 3: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Standard Library

GUI

Services

Transaction

Services

Web

Scripting

Data

Access

More

Operating System

Runtime Environment

Browser

Apps

Web Services

Apps

Other

Apps

Local

Apps

Page 4: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Visi: ◦ The platform for the digital future ◦ ‘.NET is Microsoft’s platform for a new computing

model built around XML Web Services’ Microsoft Corporation Annual Report, 2001

Suatu brand name ◦ Applied to many things

Diperkenalkan oleh Microsoft pada (Juni 2000) ◦ Sekarang sudah sampai .net framework 3.5

Page 5: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Bersifat independen dalam hal bahasa ◦ Aplikasi dapat dikembangkan di beberapa bahasa

yang didukung oleh .NET: Visual Basic .NET, Visual C++ .NET, C# dan J#

◦ Programmer dapat memilih salah satu bahasa yang paling dikuasainya.

Mampu dijalankan di semua platform

Page 6: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Open Internet Protocols

XML, XSLT, XSD, SOAP,

DISCO, UDDI, XHTML,

HTTP, SSL, WAP

Visual Studio.NET

Simple Browsers

Applications Using Your

Service

Your Internal Services

.NET Enterprise Servers

3rd Party Web Services Geographic Mapping Service Credit Card Statement Service … [ActiveX Paradigm]

Building Block Services Passport – Identity Service Calendaring Service … [myServices]

Windows

SQL Server

BizTalk Server

Application Center

Commerce Server

Host Integration Server

Internet Security and Acceleration

Exchange Server

Sales Data Service Corporate Fullfilment Service

Smart Devices

Smart Clients .NET FW

Windows

.NET FW

Windows CE, XP, 2000, .NET

.NET Framework .NET FW

Your application

and web service

Page 7: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server
Page 8: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

.NET Framework (3)

System

System.Data System.Xml

System.Web

Globalization

Text

Security

Collections

Resources

Reflection

Net

IO

Threading

Diagnostics

ServiceProcess

Configuration

Design

ADO.NET SqlClient

Xslt/XPath

XmlDocument

Runtime

InteropServices

Remoting

Serialization

Serialization

Configuration SessionState

Caching Security

Services

Description

Discovery

Protocols

UI

HtmlControls

WebControls

System.Drawing

Imaging

Drawing2D

Text

Printing

System.WinForms

Design ComponentModel

Reader/Writers OleDB, odbc, Oracle

Page 9: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Bagian utama dari framework yang akan mengkompilasi dan mengeksekusi program yang ditulis dengan bahasa yang mendukung .NET

Compilation process ◦ Dua Langkah Kompilasi

Pertama program di compile menjadi Microsoft Intermediate Language (MSIL) / Common Intermediate Language (CIL) Mendefinisikan instruksi untuk CLR

Kemudian MSIL code diterjemahkan kedalam machine code Machine code untuk platform yang khusus

◦ Mengapa dua proses kompilasi ? Agar platformnya bersifat independence

.NET Framework dapat diinstal di platform berbeda Mengeksekusi program .NET tanpa modifikasi kode-nya

Language independence .NET program tidak terikat dengan bahasa tertentu Komponen yang lama dan baru dapat terintegrasi

Page 10: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Keuntungan lain dari CLR ◦ Execution-management features

Manages memory, security Membebaskan programmer dari banyak tanggung jawab Programmer lebih berkonsentrasi pada program logic

CLR menyediakan JIT compilation. JIT hanya akan mengkompilasi method-method

yang memang digunakan dalam suatu bagian aplikasi pada saat tertentu, dan hasil kompilasi ini sendiri di cache di dalam mesin dan akan dikompile kembali jika memang ada perubahan pada kode aplikasi kita. ◦ Jadi tidak semua method diload ke-memori pada saat yang

sama

Page 11: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Class Loader

IL to Native

Compilers

Code

Manager

Garbage

Collector

Security Engine Debug Engine

Type Checker Exception Manager

Thread Support COM Marshaler

Base Class Library Support

Page 12: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Deployment

Development

VB C# Script ...

Assembly:

MSIL + Metadata Native

Code

JIT

Code Gen

Native

Code

Install time

Code Gen

Common

Language

Runtime

Page 13: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

The CLR mendefinisikan Common Type System (CTS) ◦ All languages built on the CLR use the CTS

(managed code)

Ada 2 kategori: ◦ Value types:

Relatively simple types

Allocated on the stack

◦ Reference types: More complex types

Allocated on the heap

Destroyed through garbage collection

Page 14: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Source

Code

Language

Compiler

Microsoft

Intermediate

Language

(MSIL)

Compilation

JIT

Compiler

Native

Code

The first time each

method is called

Execution

Page 15: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Sering disebut sebagai Base Class Library. Adalah koleksi dari reusable types yang

sangat terintegrasi secara melekat dengan CLR.

Class library bersifat berorientasi objek yang akan menyediakan types dari fungsi-fungsi managed code.

Dengan BCL kita dapat membuat: ◦ Aplikasi console ◦ Aplikasi berbasis windowd (Windows Form) ◦ Aplikasi ASP.NET (berbasis web) ◦ Aplikasi Web Services XML

Aplikasi berbasis Windows Services

Page 16: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Embedded Tools for Visual Studio ◦ VS 6 ◦ Tools for VB, C++

eMBedded Tools ◦ Standalone and free ◦ eVB ◦ eC++

.NET Compact Framework (First Pass) ◦ Visual Studio.NET ◦ Smart Device Extensions

Page 17: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Portable and small .NET CLR for devices ◦ Enable Visual Basic® and C#

Integrated in Visual Studio® .NET ◦ Run managed .EXEs and .DLLs directly ◦ Debug with Visual Studio .NET

Target devices: ◦ Compaq, HP, Dell, Toshiba, … ◦ PocketPC 2000, 2002 ◦ Windows Mobile (alias PPC 2003)

.Net CF in ROM!

◦ Windows CE ◦ SmartPhone ◦ No Palm/Handspring

Page 18: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

20mb 1.5mb

Same languages, same code, same MSIL

Multiple target CPUs / Mobile device

Page 19: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

.NET Compact Framework

System

System.Data System.Xml

System.Web

Globalization

Text

Security

Collections

Resources

Reflection

Net

IO

Threading

Diagnostics

ServiceProcess

Configuration

Design

ADO.NET SqlClient

Xslt/XPath

XmlDocument

Runtime

InteropServices

Remoting

Serialization

Serialization

Configuration SessionState

Caching Security

Services

Description

Discovery

Protocols

UI

HtmlControls

WebControls

System.Drawing

Imaging

Drawing2D

Text

Printing

System.WinForms

Design ComponentModel

Reader/Writers SqlServerCe

Page 20: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Host Operating System

Platform Adaptation Layer

Execution Engine (“MSCOREE.DLL”)

Device Specific Class Libs

Base Class Libs

Applications

.NET Compact Framework CLR

Ap

p D

om

ain

Ho

st

… Launch

Managed

Native

Page 21: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Base Services ◦ Threads, sync, timers, memory, math

Storage ◦ Open, close, read/write, directory

◦ Direct addressing mode

Networking ◦ Sockets ◦ Connection Control

GUI ◦ Framebuffer, char and pointer I/O, Fonts

Page 22: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Basic services for managed execution ◦ Loader

Meta-data engine/cache

Representation of class hierarchy/layout

Reflection

◦ JIT-Compiler/Verifier

◦ Execution Infrastructure

Exceptions, Native Code InterOp, Security

◦ Garbage Collector

◦ Debugging Support

◦ “Native” implementation of some managed APIs (class libraries)

Page 23: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Base Types ◦ Type conversion, display formatting ◦ String manipulation ◦ Array.Sort

Threading & Sync (System.Threading) Storage (System.IO) Resources (System.Resources) Collections (System.Collections) Reflection (System.Reflection) XML ◦ DOM and Reader/Writer

Networking, Forms, Data Access

Page 24: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

VS.Net 2003/2005 installation option

Only C#, VB.Net

True on-device debugging ◦ If you can get it connected…

Emulator

Deployment

Page 25: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Templates for devices in New Project dialog ◦ Template sets device and project type

Template types ◦ Pocket PC Application ◦ Pocket PC Class Library ◦ Pocket PC Control Library ◦ Windows CE .NET Application ◦ Mobile Phone Application

Default set of references that are appropriate for your platform

Page 26: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

You can get it! You can download AppForge plugin!

Page 27: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Same user experience as desktop

Compiles application for device

Output Window used for deployment messages

Visual Studio deploys the framework to device if needed

Page 28: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Windows + Visual Studio .NET

Source Code

(Hello.*)

.NET

Compiler

.NET CF

Class Libs

Hello.exe

Hello.dll(s) Hello.cab

CabWiz.exe

Hello.cab

Device ActiveSync,

SMS, Etc/.

Hello.exe

Hello.dll(s)

WCELoad.exe

.NET CF.cab

Per-Processor/OS and

Language Package

.NET CF.cab

.NET CF

CLR

Page 29: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Windows + Visual Studio .NET

Device

Hello.cab

.NET CF.cab

Desktop

Executables

Windows

Setup.exe

Setup.exe

ActiveSync,

Add/Remove

Programs, Etc.

Hello.cab

Desktop

Executables

+

.NET CF.cab

Hello.cab

Hello.exe

Hello.dll(s)

.NET CF.cab

.NET CF

CLR

Page 30: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Limited subset of SQL Server functionality

Good for: ◦ Persistent storage locally

◦ Persistent storage for occasionally-connected applications and large sets of data

◦ Merge Replication

Currently, SQL Server CE requires an additional installation

Page 31: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

SQLite adalah database bukan client-server, dia bersifat stand-alone

Hanya terdiri dari 1 file ◦ Berekstensi: .db3

Perlu download file DLL tambahan agar bisa koneksi: ◦ System.Data.SQLite

Secure, bisa menggunakan bahasa SQL Bersifat lokal

Page 32: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Good for: ◦ Persistent storage of smaller sets of data

Local storage

Occasionally-connected computing

◦ Not as secure as SQL Server CE

Page 33: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

File Size Classes Methods

NETCF Desktop % NETCF Desktop % NETCF Desktop %

“MSCorEE” 400K* 2.2 M 18% N/A N/A N/A N/A N/A N/A

MSCorLib 200K 2M 10% 364 1286 28% 3989 13817 29%

System 100K 1.2M 8% 140 765 18% 1090 6953 16%

System.Drawing 20K 458K 5% 41 254 16% 385 3509 11%

System.Web.Services 67K 503K 13% 54 274 20% 302 2083 14%

System.Windows.Forms 56+55K 2M 5% 43 823 5% 393 11337 3%

System.XML 138K 1.2M 12% 100 724 14% 927 7227 13%

* .NETCF file size of MSCorEE is for Win32/x86 version

Page 34: CMJ251-Manajemen Jaringan Mobilecmj251.weblog.esaunggul.ac.id/wp-content/uploads/... · CMJ251-Manajemen Jaringan Mobile Dosen Pengampu : 5165-Kundang K Juman, Ir, MMSI ... SQL Server

Framework size (RAM or ROM) ◦ ~1.5 MB

Running RAM needs ◦ 1 MB+ (depends on app)

Typical application sizes ◦ 5 - 100 KB

◦ Apps often smaller due to use of platform features in the framework