37
SQL CE SQL CE SQL Notification SQL Notification Services Services 와 와와와 와와와 와와와 와와 와 와와와 와와와 와와와 와와 와와와 와와 와와와 와와 Sr. Technology Specialist Sr. Technology Specialist 와와와와와 와와와와와 와와와와와와와와와 와와와와와와와와와

SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Embed Size (px)

Citation preview

Page 1: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

SQL CE SQL CE 와 와 SQL Notification SQL Notification ServicesServices 를 활용한 모바일 솔루션 를 활용한 모바일 솔루션 구현 구현

박명은 과장박명은 과장Sr. Technology SpecialistSr. Technology Specialist기술사업부기술사업부한국마이크로소프트한국마이크로소프트

Page 2: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

AgendaAgenda

SQL CE 2.0 SQL CE 2.0 소개 소개 SQL CE 2.0 SQL CE 2.0 특징특징 SQL CE 2.0 ArchitectureSQL CE 2.0 Architecture 데이터 동기화 방법 데이터 동기화 방법

SQL Notification Services SQL Notification Services 소개 소개 SQL Notification Services SQL Notification Services 란 란 ? ? SQL Notification ServicesSQL Notification Services 를 이용하여 모바일 솔루션 구현 를 이용하여 모바일 솔루션 구현 Deploy Deploy 방안 방안 Why MS SQL Notification Services ? Why MS SQL Notification Services ? 사례사례

질문 질문

Page 3: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

SQL CE 2.0 SQL CE 2.0 소개 소개

Page 4: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Multiple Multiple Listing Service Listing Service

OracleOracle

Pocket Innovia ArchitecturePocket Innovia Architecture

Page 5: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

SQL Server 2000SQL Server 2000Windows CE Edition v2.0Windows CE Edition v2.0

SQL ServerSQL Server 와의 높은 호환성 와의 높은 호환성 동일한 동일한 result setsresult sets 데이터타입 호한데이터타입 호한

데이터베이스 엔진 크기 데이터베이스 엔진 크기 ~800kb for X86 CPU ~800kb for X86 CPU

다양한 디바이스를 위한 다양한 디바이스를 위한 Managed Managed 액세스 액세스 효과적이고 복잡한 쿼리 가능 효과적이고 복잡한 쿼리 가능 online/offline online/offline 애플리케이션 구현 가능 애플리케이션 구현 가능 메인서버의 메인서버의 SQL ServerSQL Server 와 동기화 가능과 클라이언트 와 동기화 가능과 클라이언트

추적이 가능 추적이 가능

Page 6: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

SQL Server CE CapabilitiesSQL Server CE Capabilities

디바이스에 따른 디바이스에 따른 Data Provider Data Provider 제공 제공 오프라인상에서도 다양한 방법의 데이터베이스 액세스 오프라인상에서도 다양한 방법의 데이터베이스 액세스

가능 가능 Remote Data Access (RDA) Remote Data Access (RDA)

로컬 저장영역의 데이터저장소와 기업내의 메인 로컬 저장영역의 데이터저장소와 기업내의 메인 SQL SQL ServerServer 와의 와의 Replication Replication 가능가능

설치와 사용이 용이설치와 사용이 용이 Merge ReplicationMerge Replication

마스터 데이터베이스의 로컬 복사를 동기화함마스터 데이터베이스의 로컬 복사를 동기화함 마스터 데이터 저장하기 위해서는 마스터 데이터 저장하기 위해서는 RDA RDA 방식보다는 방식보다는

좀더 효과적임좀더 효과적임

Page 7: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

V2.0 V2.0 추가된 기능들추가된 기능들

고유한 기능들고유한 기능들

ABSABS ACOSACOS ASINASIN ATANATAN ATN2ATN2 CEILINGCEILING COSCOS COTCOT DEGREESDEGREES EXPEXP

FLOORFLOOR LOGLOG LOG10LOG10 PIPI POWERPOWER RADIANSRADIANS RANDRAND ROUNDROUND SIGNSIGN SQRTSQRT NEWIDNEWID

TANTAN UNICODEUNICODE CHARCHAR CHARINDEXCHARINDEX LENLEN LOWERLOWER LTRIMLTRIM PATINDEXPATINDEX REPLACEREPLACE REPLICATEREPLICATE @IDENTITY@IDENTITY

RTRIMRTRIM SPACESPACE STRSTR STUFFSTUFF SUBSTRINGSUBSTRING UPPERUPPER CASECASE COALESCECOALESCE CONVERTCONVERT DATALENGTHDATALENGTH

Page 8: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

UnionUnion SELECT * FROM A UNION SELECT * FROM BSELECT * FROM A UNION SELECT * FROM B

Parameterized QueriesParameterized Queries INSERT INTO mytable (col1, col2) VALUES (?, ?);INSERT INTO mytable (col1, col2) VALUES (?, ?);

Index PullIndex Pull Brings indexes down with RDA PullBrings indexes down with RDA Pull

Connectivity Setup WizardsConnectivity Setup Wizards Ease installation of SQL CE Server componentsEase installation of SQL CE Server components

Optional Error StringsOptional Error Strings Extra DLL to provide error strings in applicationExtra DLL to provide error strings in application

Increased index limit per tableIncreased index limit per table

V2.0 V2.0 추가된 기능들추가된 기능들

Page 9: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

SQL Server Client Data ProviderSQL Server Client Data Provider Direct Access to SQL ServerDirect Access to SQL Server

Enhanced ISQLWEnhanced ISQLW

V2.0 V2.0 추가된 기능들추가된 기능들

Page 10: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

OLEDB CEOLEDB CECLR / .NET CFCLR / .NET CF

QP/Cursor Engine/ES QP/Cursor Engine/ES

ADOADOCE v3.1CE v3.1

Storage Engine / Repl TrackingStorage Engine / Repl Tracking

SQL Server CE v2.0SQL Server CE v2.0

eVB 3.0eVB 3.0eVC eVC 3.03.0

OLEDBOLEDB

OLEDBOLEDB

SQL Server CE 2.0 Data SQL Server CE 2.0 Data ProviderProvider

Native/UnmanagedNative/Unmanaged StackStackSDE / ManagedSDE / Managed StackStack

ADO.NETADO.NET

VS .NET (VB.NET, C#)VS .NET (VB.NET, C#)

SQL Server CE v2.0 Device Data SQL Server CE v2.0 Device Data AccessAccess

Page 11: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

OLEDB CEOLEDB CE

CLR / .NET CFCLR / .NET CF

QP/Cursor Engine/ES QP/Cursor Engine/ES

CE Data AccessCE Data AccessStorage ArchitectureStorage Architecture

Client Client Agent: Agent:

ReplicationReplicationandandRDARDA

ADO ADO CE CE v3.1v3.1

OLEDB / OLEDB / Replication APIReplication API

IISIIS

CLIENTCLIENT SERVERSERVER

Storage Engine / Repl Storage Engine / Repl TrackingTracking

SQL CE Edition v2.0SQL CE Edition v2.0

eVB eVB 3.03.0 eVC eVC

3.03.0

OLEDBOLEDB

OLEDBOLEDB

Server Server Agent: Agent:

ReplicationReplicationandand

Remote Remote Data Data

AccessAccess

HTTPHTTP

XML/BizTalk/CS 2002XML/BizTalk/CS 2002

802.11b, 802.11b, CDPD, CDPD, GSM, GSM,

CDMA, CDMA, TDMA, etc.TDMA, etc.

Enterprise BackendEnterprise Backend

Oracle / db2 / etcOracle / db2 / etc

SQL Server SQL Server CE Data CE Data ProviderProvider

Native/UnmanagedNative/Unmanaged StackStack

Data ProviderData Provider

SQL Server SQL Server Client Data Client Data Provider Provider

ADO.NETADO.NET

VS .NET (VB.NET, C#)VS .NET (VB.NET, C#)..NET CF / ManagedNET CF / Managed StackStack

TDSTDS

EthernetEthernet

Well Well ConnectedConnected

Occasionally Occasionally ConnectedConnected

Page 12: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Data Access ChoicesData Access Choices

Windows CEWindows CE

SQL Server CESQL Server CE

.NET Compact .NET Compact FrameworkFramework

Windows ServerWindows Server

SQL ServerSQL Server

1. XML Web 1. XML Web servicesservices

2. Synchronization2. Synchronization(http)(http)

4. ADO.NET4. ADO.NETLocal DataLocal Data

XML Web XML Web ServicesServices

XML Web XML Web ServicesServices

3. Direct SQL Server access3. Direct SQL Server access

ASP.NET, ASP.NET, Mobile ControlsMobile Controls

Presentation LayerPresentation LayerMobile BrowserMobile Browser

WAP, HTML etc.

Sm

art

clie

ntB

row

se

Page 13: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

DB Sync DB Sync 방법방법다음의 두 가지 방법이 있다다음의 두 가지 방법이 있다 .. SQL ReplicationSQL Replication

일반 일반 SQL SQL 서버간의 복제 기술의 연장이다서버간의 복제 기술의 연장이다 통합 복제 통합 복제 (( 양방향양방향 )) 를 지원한다를 지원한다 인터넷을 통한 복제인터넷을 통한 복제 (( 메인 메인 DBDB 의 변경 내용을 받음의 변경 내용을 받음 )) 도 가능하다도 가능하다 충돌 있을 때충돌 있을 때 , , 자동 또는 고객 요구에 맞춘 도구를 제공한다자동 또는 고객 요구에 맞춘 도구를 제공한다

원격 데이터 액세스 원격 데이터 액세스 RDA (Remote Data Access)RDA (Remote Data Access) 본래는 본래는 SQL 6.5/SQL 7.0/SQL 2000SQL 6.5/SQL 7.0/SQL 2000 과 데이터 동기를 하기 위해 과 데이터 동기를 하기 위해

고안됨고안됨 HTTP (over TCP/IP) HTTP (over TCP/IP) 기반으로 실행됨기반으로 실행됨 방화벽이나 프록시 서버 뒤에 위치하고 있을지라도 방화벽이나 프록시 서버 뒤에 위치하고 있을지라도 SQL Server CESQL Server CE 가 가

back-end back-end 시스템과 작업할 수 있도록 한다시스템과 작업할 수 있도록 한다 .. 방식은 다음 세가지 이다방식은 다음 세가지 이다

Pull Pull Push Push Sumit Sumit

프로그래밍이 가능하기 때문에 다양한 적용이 가능하다프로그래밍이 가능하기 때문에 다양한 적용이 가능하다 ..

Page 14: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

SQL Notification Services SQL Notification Services 소개 소개

Page 15: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Getting InformationGetting InformationNo notifications – connected requestorNo notifications – connected requestor

ResponseResponse

LOB, LOB, RptRpt

ERP, ERP, CRMCRM

NewsNews

WebWeb

My DeviceMy Device

RequestRequest

Page 16: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Getting InformationGetting InformationPush notifications – all or nothingPush notifications – all or nothing

LOB, LOB, RptRpt

ERP, ERP, CRMCRM

NewsNews

WebWeb

My DeviceMy DevicePushPush

SPAM

Page 17: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Getting InformationGetting InformationNotifications – subscriber preferenceNotifications – subscriber preference

LOB, LOB, RptRpt

ERP, ERP, CRMCRM

NewsNews

WebWeb

Notification Notification ApplicationApplication

A new class of applications A new class of applications that deliver that deliver personalized personalized and and timelytimely information to information to any deviceany device

My Device(s) My Device(s) of Choiceof Choice

Page 18: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Source System

s

Source System

s

Subscriber Devices

and Systems

Subscriber Devices

and Systems

Notification ApplicationsNotification Applications

SubscriptionsSubscriptions(millions)(millions)

NotificationsNotifications(millions)(millions)MatchMatch

SubscribersSubscribers

EventsEvents

Page 19: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

ArchitectureArchitecture

Subscription Management ApplicationSubscription Management Application

SubscriptionsSubscriptionsSubscribersSubscribers

CustomCustom

Eve

nt

Eve

nt

Co

llector

Co

llector

Event Provider HostEvent Provider Host

File SystemFile System

SQL ServerSQL Server

NotificationNotificationGeneratorGenerator

SQL MatchSQL MatchRulesRules CustomCustom

FormatterFormatter

DistributorDistributor.NET Alerts.NET Alerts

EmailEmail

FileFile

CustomCustom

EventsEvents

NotificationsNotificationsEvent BatchesEvent Batches

Notification BatchesNotification Batches

Subscriber Subscriber DevicesDevices

App. specificApp. specific

StandardStandard

XSLT XSLT FormatterFormatter

Page 20: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Building The FoundationBuilding The Foundation

VBS scriptsVBS scripts

Data Data ChangeChange

ss

Data Data ChangeChange

ss

ExternalExternalDeliveryDelivery

ExternalExternalDeliveryDelivery

Event ProviderEvent Provider

EventsEvents

SubscribersSubscribersSubscriber DevicesSubscriber Devices

SubscriptionsSubscriptionsNotificationsNotifications

GeneratorGenerator DistributorDistributor

SQLSQLMatchMatchRuleRule

File System File System WatcherWatcher

EventEventProviderProvider

HostHost

XSLT XSLT CFCF

XSLTXSLT

EmailEmail

Page 21: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Building The Foundation:Building The Foundation:Defining Schemas and RulesDefining Schemas and Rules

SQL SQL 테이블내의 테이블내의 RowRow 로써 로써 적용할 이벤트 모델 정의적용할 이벤트 모델 정의

SQL SQL 테이블내의 테이블내의 RowRow 로써 로써 적용할 적용할 Subscription Subscription 모델 정의모델 정의

적용할 적용할 Match RuleMatch Rule 을 을 SQLSQL 를 사용하여 를 사용하여 작성작성

Events

StockSymbol

MSFT

Stock Value

41

ORCL 11 1/4

SUNW 9 1/2

INTC 22

IBM 65

CSCO 11 1/2

Subscriptions

StockSymbol

MSFT

Trigger

40

SubscriberId

patricet

Notifications

StockSymbol

MSFT

Stock Value

41

SubscriberId

patricet

<xsl:template match="notification"><b><xsl:value-of select="StockSymbol"/></b>is now trading at: <b>$<xsl:value-ofselect="StockValue"/></b></xsl:template>

기본적인 기본적인 XSLTXSLT 를 이용하여 원시의 를 이용하여 원시의 Notification Notification

데이터를 변환함 데이터를 변환함

SELECT s.SubscriberId, e.StockSymbol, e.StockValueFROM Events e, Subscriptions sWHERE (e.StockSymbol = s.StockSymbol)AND (e.StockValue > s.Trigger)

Page 22: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Extending the platformExtending the platform

VBS scriptsVBS scripts

Data Data ChangeChange

ss

Data Data ChangeChange

ss

ExternalExternalDeliveryDelivery

ExternalExternalDeliveryDelivery

Event ProviderEvent Provider

EventsEvents

SubscribersSubscribersSubscriber DevicesSubscriber Devices

SubscriptionsSubscriptionsNotificationsNotifications

GeneratorGenerator DistributorDistributor

SQLSQLMatchMatchRuleRule

File System File System WatcherWatcher

EventEventProviderProvider

HostHost

XSLT XSLT CFCF

XSLTXSLT

EmailEmail

SQL Server SQL Server providerprovider

Page 23: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Event Providers: Event Providers: Example: SQL Server Event ProviderExample: SQL Server Event Provider

Event ProvidersEvent Providers 이벤트 테이블로 이벤트 데이터를 입력함 이벤트 테이블로 이벤트 데이터를 입력함 Built-in: FileSystemWatcher, SQL ProviderBuilt-in: FileSystemWatcher, SQL Provider

SQL Server Event ProviderSQL Server Event Provider Hosted by the Event Provider HostHosted by the Event Provider Host 변경된 데이터를 가져오기 위해 정해진 스케줄에 변경된 데이터를 가져오기 위해 정해진 스케줄에 SQL SQL 쿼리를 수행함 쿼리를 수행함 가져온 변경된 데이터를 이벤트 테이블내에 가져온 변경된 데이터를 이벤트 테이블내에 Update Update 함 함

EventsEventsDataData

SourceSourceSQL Server SQL Server

providerprovider

EventEventProviderProvider

HostHost

QueryQueryPostQueryPostQueryScheduleSchedule

ChangesChanges

Page 24: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

SQL Server Event ProviderSQL Server Event Provider

Source Table

StockSymbol

MSFT

Stock Value

41

ORCL 11 1/4

SUNW 9 1/2

INTC 22

IBM 65

CSCO 11 1/2

LastUpdate

2002-10-12 1:02:05 pm

2002-10-12 1:02:05 pm

2002-10-12 1:02:06 pm

2002-10-12 1:02:02 pm

2002-10-12 1:02:07 pm

2002-10-12 1:02:04 pm

SQL Provider:Every 2 minutes, retrieve all

updated stocks

Events

StockSymbol

MSFT

Stock Value

41

ORCL 11 1/4

SUNW 9 1/2

INTC 22

IBM 65

CSCO 11 1/2

LastUpdate

2002-10-12 1:03:00 pm

2002-10-12 1:03:00 pm

2002-10-12 1:03:00 pm

2002-10-12 1:03:00 pm

2002-10-12 1:03:00 pm

2002-10-12 1:03:00 pm

MSFT 41 1/8

ORCL 11 1/8

SUNW 9

2002-10-12 1:03:25 pm

2002-10-12 1:03:32 pm

2002-10-12 1:04:06 pm

GeneratorGenerator

MSFT 41 1/8

ORCL 11 1/8

SUNW 9

2002-10-12 1:05:00 pm

2002-10-12 1:05:00 pm

2002-10-12 1:05:00 pm

Event Batch#1

Event Batch#2

Page 25: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Extending the platformExtending the platform

VBS scriptsVBS scripts

Data Data ChangeChange

ss

Data Data ChangeChange

ss

ExternalExternalDeliveryDelivery

ExternalExternalDeliveryDelivery

Event ProviderEvent Provider

EventsEvents

SubscribersSubscribersSubscriber DevicesSubscriber Devices

SubscriptionsSubscriptionsNotificationsNotifications

GeneratorGenerator DistributorDistributor

SQLSQLMatchMatchRuleRule

File System File System WatcherWatcher

EventEventProviderProvider

HostHost

XSLT XSLT CFCF

XSLTXSLT

EmailEmail

SQL Server SQL Server providerprovider

Custom CFCustom CFCustom EPCustom EP

Page 26: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Content FormatterContent Formatter

Content Format Content Format NNotification otification 원시 데이터를 변환함원시 데이터를 변환함 Built-in: XSLT Content FormatterBuilt-in: XSLT Content Formatter

왜 왜 content formattercontent formatter 을 해야 하는가 을 해야 하는가 ?? 단순히 단순히 xslt formattingxslt formatting 만으로 부족 만으로 부족 (complex html, external (complex html, external

formatting dependencies, compute operations)formatting dependencies, compute operations) 하나의 단일 소스 코드내에서도 다양한하나의 단일 소스 코드내에서도 다양한 디바이스디바이스 // 언어를 언어를

지원해야 함지원해야 함 성능 성능

DistributorDistributor 에 의해 에 의해 ManagedManaged code dll code dll 이 로드됨 이 로드됨 .. Cached in memory (stop, disable, update, enable, start)Cached in memory (stop, disable, update, enable, start) Exposes 3 methods: Initialize, FormatContent, CloseExposes 3 methods: Initialize, FormatContent, Close

Page 27: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

DistributorDistributorContent Formatting ExampleContent Formatting Example

NotificationsNotifications

SubscribersSubscribers

SubscriptionsSubscriptions

SubscriberSubscriberDevicesDevices

Notification FieldsCity: SeattleHighTemp: 54LowTemp: 45

Recipient InfoSubscriberId: patricetSubscriberLocale: en-USDeviceType: Phone

Forecast for Seattle is:54 F / 45 F

public string FormatContent(string subscriberLocale,string deviceTypeName,RecipientInfo recipientInfo,Hashtable[] rawContent)

{ string output;

foreach (Hashtable notification in rawContent) { if (subscriberLocale == “en-US”) { output = String.Format( "Forecast for {0} is: {1} F / {2} F",

notification [“City”],notification [“HighTemp”],notification [“LowTemp”]);

}else

{ output = String.Format( “Forecast for {0} is: {1} C / {2} C”,

notification [“City”], (notification [“HighTemp”]-32)/9, (notification [“LowTemp”]-32/9);

} }

return output;}

Page 28: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Extending the platformExtending the platform

VBS scriptsVBS scripts

Data Data ChangeChange

ss

Data Data ChangeChange

ss

ExternalExternalDeliveryDelivery

ExternalExternalDeliveryDelivery

Event ProviderEvent Provider

EventsEvents

SubscribersSubscribersSubscriber DevicesSubscriber Devices

SubscriptionsSubscriptionsNotificationsNotifications

GeneratorGenerator DistributorDistributor

SQLSQLMatchMatchRuleRule

File System File System WatcherWatcher

EventEventProviderProvider

HostHost

XSLT XSLT CFCF

XSLTXSLT

EmailEmail

SQL Server SQL Server providerprovider

Custom CFCustom CFSMS DPSMS DPCustom EPCustom EP

.NET Alerts.NET Alerts **

FileFile

HttpExtHttpExt

Page 29: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Custom Delivery ProtocolsCustom Delivery ProtocolsExample: SMS SupportExample: SMS Support

Delivery ProtocolsDelivery Protocols 다양한 포인트를 위한 다양한 포인트를 위한 notificationnotification 을 보냄 을 보냄 Built-in: SMTP, File, .NET Alerts Built-in: SMTP, File, .NET Alerts **

SMS SMS 파트너들파트너들 .. .. Configuration file:Configuration file:

프로토콜 정의 추가프로토콜 정의 추가 Protocol NameProtocol Name

그 해당 프로토콜을 사용할 그 해당 프로토콜을 사용할 delivery channel delivery channel 정의 추가 정의 추가 ProtocolProviderClassName, AssemblyName, postURL, ProtocolProviderClassName, AssemblyName, postURL,

Encoding…Encoding… 1:1, 1:many1:1, 1:many

Application Definition FileApplication Definition File User name / password to authenticate with the end pointUser name / password to authenticate with the end point Parameters required to build the envelopeParameters required to build the envelope

Page 30: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Delivery ProtocolDelivery ProtocolMobileSysMobileSys

MSFT is trading at $41

ContentFormatter

MobileSysDelivery Protocol

postURL: http://www.mobilesys.com/….ProtocolProviderAssembly: mobilesys.dll

Application Definition File:

Protocol

Configuration File: DeliveryChannel

DeviceAddress: +1 425 123 4567UserName: myCompanyPassword: xxxxxxx

DeviceAddress: +1 425 123 4567UserName: myCompanyPassword: xxxxxxx

MSFT is trading at $41

postURL: http://www.mobilesys.com/….ProtocolProviderAssembly: mobilesys.dll

Page 31: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Deployed ArchitectureDeployed Architecture

Subscription management Subscription management applicationsapplications

SQL NSMain and SQL NSMain and Application Application DatabasesDatabases

NS Services: Event NS Services: Event Provider, Generator, Provider, Generator, DistributorDistributor

Page 32: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Deployment ConfigurationsDeployment Configurations

NS ServiceNS Service

SQL ServerSQL Server

NS ServiceNS Service

50%50%

SQL ServerSQL Server

50%50%

NS ServiceNS Service

SQL ServerSQL Server

NS ServiceNS Service(backup)(backup)

SQL ServerSQL Server(backup)(backup)

SQL ReplicationSQL Replication

A.A.SingleSingle

SystemSystem

B.B.TwoTwo

SystemsSystems

C.C.FourFour

SystemsSystems

Page 33: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

Notification ServicesNotification ServicesWhy use SQL Notification Services?Why use SQL Notification Services?

Time To Market ( Time To Market ( 구축이 용이함 구축이 용이함 ) ) Notification Services framework Notification Services framework 내에서 사용자 내에서 사용자

CustomizingCustomizing 이 가능 이 가능 You focus on application, not platform designYou focus on application, not platform design

성능 성능 이벤트와 이벤트와 Subscriptions Subscriptions 의 의 MatchMatch 를 를 SQLSQL 를 를

이용하여 효율적으로 할수 있음이용하여 효율적으로 할수 있음 Notification ApplicationNotification Application 은 완벽한 은 완벽한 ‘‘ Internet’ Internet’ 확장 확장

솔루션임 솔루션임

NotificationsSQLJoin

Subscriptions

Events

Page 34: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

사례사례

Bank one : Bank one : 미국 미국 bankbank 계좌와 자금관리 서비스 고객에 계좌와 자금관리 서비스 고객에 deliverydelivery

CenterPost CenterPost CenterPostCenterPost 를 사용하여 음성를 사용하여 음성 ,, 음성메일음성메일 ,FAX, ,FAX, 전자메일전자메일 , ,

SMS/SMS/ 유무선 및 유무선 및 .NET.NET 알림을통해전달알림을통해전달 Clalit HMO : Clalit HMO : 이스라엘 건강관리 회사이스라엘 건강관리 회사

전국의 환자와 의사들에게 중요한 진단 결과를 제공하여 전국의 환자와 의사들에게 중요한 진단 결과를 제공하여 치료와 서비스 개선 치료와 서비스 개선

Consorzio Gruppo Monte dei Paschi di Siena : Consorzio Gruppo Monte dei Paschi di Siena : 이탈리아 이탈리아 금융기관금융기관 인트라넷 어플리케이션은 워크플로우 생산성과 주요 문서 인트라넷 어플리케이션은 워크플로우 생산성과 주요 문서

처리 관리를 개선 처리 관리를 개선

Page 35: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

사례사례

Dresdner Kleinwork Wasserstein : Alianz Group Dresdner Kleinwork Wasserstein : Alianz Group 은행의 백오피스 시스템에서 발생하는 광범위한은행의 백오피스 시스템에서 발생하는 광범위한 이벤트를 모니터링 하고 증권인수업자와 거래자들이 이벤트를 모니터링 하고 증권인수업자와 거래자들이

온라인 알림을 제공함 온라인 알림을 제공함 MobileSys MobileSys

무선장치를 이용하여 안전하고 신뢰성있는 메세징을 통해 무선장치를 이용하여 안전하고 신뢰성있는 메세징을 통해 모든 무선 장치로 중요한 데이터를 전송할수 있게 해주는 모든 무선 장치로 중요한 데이터를 전송할수 있게 해주는 전달 인프라를 제공 전달 인프라를 제공

Nasdaq.com : Nasdaq.com : 미국 최대 증권 거래소미국 최대 증권 거래소 가입자들이 각 개인에게 관련된 금융 데이터 변동에 관한 가입자들이 각 개인에게 관련된 금융 데이터 변동에 관한

개인화된 알림을 수신할수 있도록 하여 시장 변화에 대한 개인화된 알림을 수신할수 있도록 하여 시장 변화에 대한 고객인식을 향상시키고 중요한 정보를 신속하게 제공 고객인식을 향상시키고 중요한 정보를 신속하게 제공

New York Times : New York Times : 부동산 알림 서비스부동산 알림 서비스 새로운 부동산 목록에 대한 신속한 알림 서비스 제공 새로운 부동산 목록에 대한 신속한 알림 서비스 제공

Page 36: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

SummarySummarySQL Server Notification ServicesSQL Server Notification Services

다양한 알림 어플리케이션을 위한 플랫폼다양한 알림 어플리케이션을 위한 플랫폼 다양한 프로그래밍 모델 다양한 프로그래밍 모델 A scalable server for deploymentA scalable server for deployment

TechnologyTechnology 구독정보에 대한 이벤트 구독정보에 대한 이벤트 MatchMatch XMLXML 파일내에서 모든 정의가 가능 파일내에서 모든 정의가 가능 SQL ServerSQL Server 의 모든 기능을 의 모든 기능을 Fully Fully 사용가능사용가능

Page 37: SQL CE 와 SQL Notification Services 를 활용한 모바일 솔루션 구현 박명은 과장 Sr. Technology Specialist 기술사업부한국마이크로소프트

질문질문