Docstoc

Mobility - Download Now PowerPoint

Document Sample
Mobility - Download Now PowerPoint Powered By Docstoc
					SQL CE 와 SQL Notification
Services를 활용한 모바일 솔루션 구현



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

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


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

   질문
SQL CE 2.0 소개
Pocket Innovia Architecture
                          Multiple
                       Listing Service
                            Oracle
SQL Server 2000
Windows CE Edition v2.0

   SQL Server와의 높은 호환성
     동일한 result sets
     데이터타입 호한
   데이터베이스 엔진 크기
     ~800kb for X86 CPU
   다양한 디바이스를 위한 Managed 액세스
   효과적이고 복잡한 쿼리 가능
   online/offline 애플리케이션 구현 가능
   메인서버의 SQL Server와 동기화 가능과 클라이언트
    추적이 가능
SQL Server CE Capabilities
   디바이스에 따른 Data Provider 제공
   오프라인상에서도 다양한 방법의 데이터베이스 액세스 가능
   Remote Data Access (RDA)
      로컬 저장영역의 데이터저장소와 기업내의 메인 SQL
       Server와의 Replication 가능
      설치와 사용이 용이
   Merge Replication
      마스터 데이터베이스의 로컬 복사를 동기화함
      마스터 데이터 저장하기 위해서는 RDA 방식보다는 좀더
       효과적임
V2.0 추가된 기능들

       고유한 기능들

       ABS          FLOOR        TAN            RTRIM
       ACOS         LOG          UNICODE        SPACE
       ASIN         LOG10        CHAR           STR
       ATAN         PI           CHARINDEX      STUFF
       ATN2         POWER        LEN            SUBSTRING
       CEILING      RADIANS      LOWER          UPPER
       COS          RAND         LTRIM          CASE
       COT          ROUND        PATINDEX       COALESCE
       DEGREES      SIGN         REPLACE        CONVERT
       EXP          SQRT         REPLICATE      DATALENGTH
                     NEWID        @IDENTITY
V2.0 추가된 기능들

   Union
     SELECT * FROM A UNION SELECT * FROM B
   Parameterized Queries
     INSERT INTO mytable (col1, col2) VALUES (?, ?);
   Index Pull
     Brings indexes down with RDA Pull
   Connectivity Setup Wizards
     Ease installation of SQL CE Server components
   Optional Error Strings
     Extra DLL to provide error strings in application
   Increased index limit per table
V2.0 추가된 기능들

   SQL Server Client Data Provider
     Direct Access to SQL Server
   Enhanced ISQLW
SQL Server CE v2.0 Device Data
Access
                                     SDE / Managed Stack
 Native/Unmanaged Stack
                                      VS .NET (VB.NET, C#)
                                             ADO.NET
     eVB 3.0
               eVC               SQL Server CE 2.0 Data
      ADO      3.0                     Provider
     CE v3.1                         CLR / .NET CF
                          OLEDB CE


                        SQL Server CE v2.0
                    OLEDB

                     QP/Cursor Engine/ES

                     OLEDB

                 Storage Engine / Repl Tracking
 CE Data Access                                       Enterprise Backend
                                                       Oracle / db2 / etc
 Storage Architecture
                         .NET CF / Managed Stack
                                                                            XML/BizTalk/CS 2002
                         VS .NET (VB.NET, C#)
Native/Unmanaged Stack
 eVB                            ADO.NET                      Ethernet

 3.0                     SQL Server     SQL Server
           eVC                          Client Data
                                                              TDS
 ADO                      CE Data
           3.0            Provider       Provider
                                                              Well
  CE
 v3.1                          CLR / .NET CF                Connected
           OLEDB CE
                                                                                OLEDB /
                                                             802.11b,         Replication API
        SQL CE Edition v2.0           Data Provider           CDPD,
                                                               GSM,
         OLEDB                                                CDMA,           Server
                                        Client              TDMA, etc.        Agent:
     QP/Cursor Engine/ES                Agent:                              Replication
                                      Replication                    IIS       and
                                         and                                 Remote
         OLEDB                                             HTTP
                                         RDA                                   Data
     Storage Engine / Repl                                                   Access
           Tracking                                          Occasionally
                                                              Connected
                                  CLIENT                                SERVER
           Data Access Choices
Browse

                                   WAP, HTML etc.          ASP.NET,
                                                         Mobile Controls
               Mobile Browser                          Presentation Layer



                                   1. XML Web
               .NET Compact        services                   XML Web
                 Framework                                    Services
Smart client




               4. ADO.NET
                Local Data      3. Direct SQL Server access



               SQL Server CE                              SQL Server
                                 2. Synchronization
                                         (http)
                Windows CE                              Windows Server
DB Sync 방법
다음의 두 가지 방법이 있다.
 SQL Replication
     일반 SQL 서버간의 복제 기술의 연장이다
     통합 복제 (양방향)를 지원한다
     인터넷을 통한 복제(메인 DB의 변경 내용을 받음)도 가능하다
     충돌 있을 때, 자동 또는 고객 요구에 맞춘 도구를 제공한다

   원격 데이터 액세스 RDA (Remote Data Access)
     본래는 SQL 6.5/SQL 7.0/SQL 2000과 데이터 동기를 하기 위해 고안됨
     HTTP (over TCP/IP) 기반으로 실행됨
     방화벽이나 프록시 서버 뒤에 위치하고 있을지라도 SQL Server CE가
      back-end 시스템과 작업할 수 있도록 한다.
     방식은 다음 세가지 이다
        Pull
        Push
        Sumit
     프로그래밍이 가능하기 때문에 다양한 적용이 가능하다.
SQL Notification Services 소개
Getting Information
No notifications – connected requestor



   Web



  News                            Request
                                            My Device
   ERP,                Response
   CRM


   LOB,
    Rpt
Getting Information
Push notifications – all or nothing



   Web



  News

                               Push   My Device
   ERP,
   CRM


   LOB,
    Rpt
Getting Information
Notifications – subscriber preference



   Web



  News                         Notification   My Device(s)
                               Application     of Choice


   ERP,
   CRM                   A new class of applications
                         that deliver personalized
   LOB,                  and timely information to
    Rpt                  any device
Notification Applications


                     Subscribers



                   Subscriptions
                       (millions)



 Source                                             Subscriber
 System                             Notifications    Devices
    s     Events      Match           (millions)
                                                       and
                                                     Systems
                                             Architecture
                                           Subscription Management Application


                                                                            Subscriber
                              Subscribers              Subscriptions
                                                                             Devices




                File System                             Notification                                  .NET Alerts
                               Collector




                                                                                    Distributor
                                Event




                                                        Generator
                SQL Server                                                            XSLT              Email

                                                        SQL Match                   Formatter
                 Custom                                                                                  File
                                                          Rules                      Custom
                 Event Provider Host                                                Formatter
                                                                                                       Custom




                                   Events
                                            Event Batches              Notifications
App. specific                                                                  Notification Batches

 Standard
               Building The Foundation
                              VBS scripts




                                Subscribers
 Data                        Subscriber Devices   Notifications          External
                  Events       Subscriptions
Change                                                                   Delivery
  s



         Event Provider      Generator                     Distributor
    File System                                                    Email
      Watcher                                      XSLT
                               SQL                  CF
                                                           XSLT
                   Event
                  Provider     Match
                    Host       Rule
     Building The Foundation:
     Defining Schemas and Rules
   SQL 테이블내의 Row로써 적용할
    이벤트 모델 정의
   SQL 테이블내의 Row로써 적용할
    Subscription 모델 정의


   적용할 Match Rule을 SQL를 사용하여 작성



   기본적인 XSLT를 이용하여 원시의 Notification
    데이터를 변환함
                  Extending the platform
                              VBS scripts




                                Subscribers
 Data                        Subscriber Devices   Notifications          External
                  Events       Subscriptions
Change                                                                   Delivery
  s



         Event Provider      Generator                     Distributor
    File System                                                    Email
      Watcher                                      XSLT
                               SQL                  CF
                                                           XSLT
                   Event
    SQL Server    Provider     Match
     provider       Host       Rule
    Event Providers:
    Example: SQL Server Event Provider



                           Query
                         PostQuery
       Data              Schedule
                                         SQL Server    Event
      Source                              provider    Provider   Events
                                                        Host
                          Changes




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

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




                            Generator
                  Extending the platform
                              VBS scripts




                                Subscribers
 Data                        Subscriber Devices   Notifications          External
                  Events       Subscriptions
Change                                                                   Delivery
  s



         Event Provider      Generator                     Distributor
    File System                                                    Email
      Watcher                                      XSLT
                               SQL                  CF
                                                           XSLT
                   Event
    SQL Server    Provider     Match
     provider       Host       Rule
                                                    Custom CF
     Custom EP
Content Formatter
   Content Format
      Notification 원시 데이터를 변환함
      Built-in: XSLT Content Formatter

   왜 content formatter을 해야 하는가 ?
     단순히 xslt formatting만으로 부족 (complex html, external
      formatting dependencies, compute operations)
     하나의 단일 소스 코드내에서도 다양한 디바이스/언어를
      지원해야 함
     성능

   Distributor에 의해 Managed code dll이 로드됨 .
       Cached in memory (stop, disable, update, enable, start)
       Exposes 3 methods: Initialize, FormatContent, Close
   Distributor
   Content Formatting Example

                Notification Fields
                City: Seattle
Notifications   HighTemp: 54
                LowTemp: 45




Subscribers
                Recipient Info
                SubscriberId: patricet
Subscriptions   SubscriberLocale: en-US
                DeviceType: Phone
 Subscriber
  Devices
                  Extending the platform
                              VBS scripts




                                Subscribers
 Data                        Subscriber Devices   Notifications          External
                  Events       Subscriptions
Change                                                                   Delivery
  s



         Event Provider      Generator                     Distributor
    File System                                                     Email
      Watcher                                      XSLT
                               SQL                  CF
                                                           XSLT      File
                   Event
    SQL Server    Provider     Match                               HttpExt
     provider       Host       Rule                               .NET Alerts *
                                                    Custom CF
     Custom EP                                                     SMS DP
Custom Delivery Protocols
Example: SMS Support

   Delivery Protocols
       다양한 포인트를 위한 notification을 보냄
       Built-in: SMTP, File, .NET Alerts *
   SMS 파트너들..
   Configuration file:
       프로토콜 정의 추가
          Protocol Name
       그 해당 프로토콜을 사용할 delivery channel 정의 추가
       ProtocolProviderClassName, AssemblyName, postURL,
        Encoding…
          1:1, 1:many
   Application Definition File
       User name / password to authenticate with the end point
       Parameters required to build the envelope
Delivery Protocol
MobileSys

                     Application
 Content                                              Configuration File:
                    Definition File:
Formatter                                              DeliveryChannel
                       Protocol




                    MobileSys
                 Delivery Protocol

            DeviceAddress:+1 425 123 4567
            UserName: myCompany
            Password: xxxxxxx
            postURL:http://www.mobilesys.com/….
            ProtocolProviderAssembly: mobilesys.dll


                      MSFT is trading at $41
Deployed Architecture
                        Subscription management
                           applications

                        SQL NSMain and
                           Application
                           Databases

                        NS Services: Event
                            Provider, Generator,
                            Distributor
Deployment Configurations

   A.            B.                  C.
 Single         Two                Four
 System       Systems             Systems


NS Service   NS Service                     NS Service
                          NS Service
SQL Server      50%                          (backup)




             SQL Server                  SQL Server
                          SQL Server
                50%                       (backup)
                               SQL Replication
Notification Services
Why use SQL Notification Services?
   Time To Market ( 구축이 용이함 )
     Notification Services framework 내에서 사용자
       Customizing이 가능
     You focus on application, not platform design
   성능
     이벤트와 Subscriptions 의 Match를 SQL를
       이용하여 효율적으로 할수 있음
     Notification Application은 완벽한 ‘Internet’ 확장
       솔루션임
                                  Subscriptions




                                              Notifications
                                     SQL
                      Events
                                     Join
    사례
   Bank one : 미국 bank
     계좌와 자금관리 서비스 고객에 delivery
   CenterPost
     CenterPost를 사용하여 음성,음성메일,FAX, 전자메일,
       SMS/유무선 및 .NET알림을통해전달
   Clalit HMO : 이스라엘 건강관리 회사
     전국의 환자와 의사들에게 중요한 진단 결과를 제공하여
       치료와 서비스 개선
   Consorzio Gruppo Monte dei Paschi di Siena : 이탈리아
    금융기관
     인트라넷 어플리케이션은 워크플로우 생산성과 주요 문서
       처리 관리를 개선
    사례
   Dresdner Kleinwork Wasserstein : Alianz Group
     은행의 백오피스 시스템에서 발생하는 광범위한
      이벤트를 모니터링 하고 증권인수업자와 거래자들이 온라인
       알림을 제공함
   MobileSys
     무선장치를 이용하여 안전하고 신뢰성있는 메세징을 통해
       모든 무선 장치로 중요한 데이터를 전송할수 있게 해주는
       전달 인프라를 제공
   Nasdaq.com : 미국 최대 증권 거래소
     가입자들이 각 개인에게 관련된 금융 데이터 변동에 관한
       개인화된 알림을 수신할수 있도록 하여 시장 변화에 대한
       고객인식을 향상시키고 중요한 정보를 신속하게 제공
   New York Times : 부동산 알림 서비스
     새로운 부동산 목록에 대한 신속한 알림 서비스 제공
    Summary
    SQL Server Notification Services

    다양한 알림 어플리케이션을 위한 플랫폼
      다양한 프로그래밍 모델
      A scalable server for deployment
    Technology
      구독정보에 대한 이벤트 Match
      XML파일내에서 모든 정의가 가능
      SQL Server의 모든 기능을 Fully 사용가능
질문

				
DOCUMENT INFO