SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Silverlight
Document search engine
                    Mustaţă Bogdan

    mustata.bogdan@rms.ro | RomSoft

                        March 2010
Agenda

1. Lucene

1. Silverlight overview

1. Demo & Code
Intelligent Crawling and Indexing using
               Lucene
Searching
 Looking up words in an index
 Factors Affecting Search:

 Precision – How well the system can filter
 Speed
 Single, Multiple Phase queries,
 Results ranking,
 Sorting,
 Wild card queries,
 Range queries support
Indexing
    Sequential Search is bad (Not Scalable)
    Index speeds up selection
    Index is a special data structure which allows rapid
    searching.
    Different Index Implementations
- B Trees
- Hash Map
Search Process


                         Quer
                         y

    Doc                               Doc
    s                                 s

          Indexing API
                                Hit
                         Inde   s
                         x
Lucene
 High-performance, full-featured text search engine library
 Written 100% in pure java & C#
 Easy to use yet powerful API
 Jakarta Apache Product. Strong open source community
 support.
Why Lucene?

 Open source (Not proprietary)
 Easy to use, good documentation
 Interoperable - Ex: Index generated by java can
 be used by VB, asp, perl application
 Powerful And Highly Scalable
 Index Format
   Designed for interoperability
   Well Documented
   Resides on File System, RAM, custom store
Indexing With Lucene
What type of documents can be indexed?

   Any document from which text can be fetched and extracted
   over the net with a URL

Uses Inverted Index

The index stores statistics about terms in order to make term
based search more efficient.

http://lucene.apache.org/lucene.net/
Demo
Silverlight
      Overview
        cross-browser
        cross-platform
         cross-device
  Plug-in for building and delivering the
            next generation of
          .NET based

     media experiences
             and
rich interactive applications

            for the   Web
Silverlight is a .NET technology



                   Server            Desktop
                 & Services



                              .NET




                                     Devices,
                  Browser             Mobile




             Silverlight extends your .NET
             Reach.
A Brief History of Silverlight
      MIX 07             Sep 07             MIX 08          Oct 08


Silverlight 1.0      Silverlight 1.0   Silverlight 2   Silverlight 2
Beta                                   Beta
Silverlight 1.1
Alpha

      MIX 09              Jul 09           PDC 09         Spring 10


Silverlight 3 Beta   Silverlight 3     Silverlight 4   Silverlight 4
                                       Beta
Silverlight 1.0




                  Designer /
   X-Browser                    High Quality
                  Developer
   X-Platform                   Audio/Video
                  Workflow

                  Animation &
                                Skills Reuse
  Auto-Updater      Vector
                                  (AJAX)
                   Graphics
Silverlight 2




      High
                Flexible Data   Rich UI Controls
  Performance
                   Access        & Deep Zoom
    Runtime


    Content      Robust          Role-Based
   Protection   Networking       Tools & DLR
Silverlight 3




                     GPU            Navigation &
 Out of Browser
                  Acceleration       Validation


                   Perspective
  H.264 / AAC     Transforms &    Silverlight Toolkit
                  Pixel Shaders
Silverlight 4




 Elevated Trust     Printing     Webcam / Mic



  Rich Text &         Input      Localized to 41
 HTML Hosting     Improvements     Languages
Presentation Core – Graphics
  2D Graphics
     Vector based
     Standard shapes and Paths
     Masking and clipping
     Transformations: skew, rotate, scale, translate, matrix

  Animation Basics
     Time-based
     Support linear, discrete and spline animation
     Animatable property types:
        Double, Color, Point
     Animations and graphics can be defined using XAML or code
Declarative Programming Through XAML
             Extensive Application Markup Language

               Toolable, declarative markup
               Code and content are separate
               Compatible with Windows Presentation Foundation




 XAML                         C#                                    VB.NET
<Button Width="100"> OK      Button b1 = new Button();             Dim b1 As New Button
<Button.Background>          b1.Content = "OK";                    b1.Content = "OK"
LightBlue                    b1.Background = new SolidColorBrush   b1.Background = New _
</Button.Background>         (Colors.LightBlue);                   SolidColorBrush(Colors.LightBlue)
</Button>                    b1.Width = 100;                       b1.Width = 100
Databinding
  Two way data binding from User interface to business
  objects
  Notification via INotifyPropertyChanged
  DataContext is inherited via Visual Tree

  From XAML
     <TextBlock Text="{Binding Nasdaq.Points, Mode=OneWay}"/>
       Binding binding = new Binding("Nasdaq.Points");
  From binding.Mode = BindingMode.OneWay;
        code
       TextBlock tb = new TextBlock();
       tb.SetBinding(TextBlock.TextProperty, binding);
Networking
 Asynchronous HTTP requests
    GET/POST
    Access to most headers, cookies,
 Uses browser networking stack
    Caching, authentication, proxy , compression
Web Services
 SOAP 1.1
     Basic profile
     A few restrictions (e.g. SOAP Faults not supported)
 Asynchronous invocation
 Follows cross-domain policy restrictions
 Generated proxies support data binding
Sockets
  TCP only
  Asynchronous API
  No explicit bind and no listen/accept support
  Restricted ports ( 4502-4534)
  Cross Domain based on provisioning server
 void Connect(AddressFamily family)
 {
 SocketAsyncEventArgs connectArgs = new SocketAsyncEventArgs();
 connectArgs.RemoteEndPoint = new DnsEndPoint(
 Application.Current.Host.Source.Host, 4502);
 connectArgs.Completed += new
 EventHandler<SocketAsyncEventArgs>(OnConnectCompleted);
 socket = new Socket(family, SocketType.Stream,
 ProtocolType.Tcp);
 if (!socket.ConnectAsync(connectArgs))
 OnConnectCompleted(socket, connectArgs);
 }
Cross-domain support
                                               <?xml version="1.0"?>
    2 formats:                                 <!DOCTYPE cross-domain-policy SYSTEM
          Flash policy file                    "http://www.macromedia.com/xml/dtds/cross-domain-policy.
                                               dtd">
          Silverlight policy file              <cross-domain-policy>
                                               <allow-access-from domain="*" />
                                               </cross-domain-policy>

                                                                               Cross-domain.xml
<?xml version="1.0"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="http://customers.shop.com”/>"
<domain uri="http://partner.com/app.xap"/>
</allow-from>
<grant-to>
<grant path="/sales/serialnumbers.xml" />
<grant path="/partners" include-subpaths="false"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>

                      clientaccesspolicy.xml
Isolated Storage
  Stream based access to a private file/directory structure
  Patterned after .NET Framework IsolatedStorage classes
  Read and write string or binary data
  Store is per application XAP
  Application code to request size increase
          User prompt to accept quota increase
          Quotas fall into predetermined size slots
          Code must initiate increase size call from within user
          input/event
Designer/Developer Collaboration
Tooling
                                     Server Vista



                                                             Desktop
                      Server, Services




                                                XAML




          Designer                                              Developer
          Look, behavior, brand,                         Function, deployment, data,
          and emotional connection                      security, operational integrity

                                                Media
                                                & RIA
Silverlight and WPF
  Silverlight is related to WPF
     Plus a few extra web features and its own codecs


  Reuse strategy
     Same skills
     Same tools
     Same XAML and UI
     Silverlight code should run on WPF with minor changes
Silverlight and .NET: Better Together
  Highly productive development framework
     Multi-language support
     Latest developer innovations (e.g. LINQ, Generics)
     AJAX integration
  Great tools
     Visual Studio
     Expression Studio
  Cross-platform & cross-browser plugin
     Works with Safari, Firefox, Google Chrome and Internet Explorer
     Mac OS X and Windows
     Any web server
     Fast, easy install process
  Securely extends your web browser’s sandbox
     Off-line storage, OpenFileDialog, Sockets, cross-domain
Demo
Q&A
 Contact
     Mustaţă Bogdan
     mustata.bogdan@rms.ro

 Links
 http://silverlight.net/
 http://team.silverlight.net/
 http://www.silverlightshow.net/
 MS Expression Studio 3: http://www.microsoft.
 com/expression/products/Studio_Overview.aspx
 Silverlight HandsOnLabs:
 http://silverlight.net/learn/handsonlabs/
 Introduction to Silverlight Labs: http://www.microsoft.
 com/education/facultyconnection/articles/articledetails.aspx?cid=1988&c1=en-us&c2=0
 3 Day Deep Dive into Silverlight: http://www.microsoft.
 com/education/facultyconnection/articles/articledetails.aspx?cid=2023&c1=en-us&c2=0

Más contenido relacionado

La actualidad más candente

[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web [Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
Shreeraj Shah
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Ware
deimos
 
Microsoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not WarMicrosoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not War
Dave Bost
 
01. Portal Business Overview
01. Portal Business Overview01. Portal Business Overview
01. Portal Business Overview
Nick Davis
 
Ajax World Oct2008 Jrd
Ajax World Oct2008 JrdAjax World Oct2008 Jrd
Ajax World Oct2008 Jrd
rajivmordani
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
luohd
 
ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...
Nancy Thomas
 
Egl Rui Ajax World
Egl Rui Ajax WorldEgl Rui Ajax World
Egl Rui Ajax World
rajivmordani
 
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
Michael Noel
 

La actualidad más candente (20)

Websphere Portal
Websphere PortalWebsphere Portal
Websphere Portal
 
Aws
AwsAws
Aws
 
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web [Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
[Infosecworld 08 Orlando] CSRF: The Biggest Little Vulnerability on the Web
 
Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlability
 
IBM WebSphere Portal References Education
IBM WebSphere Portal References EducationIBM WebSphere Portal References Education
IBM WebSphere Portal References Education
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Ware
 
Microsoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not WarMicrosoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not War
 
01. Portal Business Overview
01. Portal Business Overview01. Portal Business Overview
01. Portal Business Overview
 
SEASPC 2011 - SharePoint Security in an Insecure World: Understanding the Fiv...
SEASPC 2011 - SharePoint Security in an Insecure World: Understanding the Fiv...SEASPC 2011 - SharePoint Security in an Insecure World: Understanding the Fiv...
SEASPC 2011 - SharePoint Security in an Insecure World: Understanding the Fiv...
 
Ajax World Oct2008 Jrd
Ajax World Oct2008 JrdAjax World Oct2008 Jrd
Ajax World Oct2008 Jrd
 
Oracle UCM Implementation Patterns
Oracle UCM Implementation PatternsOracle UCM Implementation Patterns
Oracle UCM Implementation Patterns
 
Cloud Computing2
Cloud Computing2Cloud Computing2
Cloud Computing2
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
 
ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...
 
Egl Rui Ajax World
Egl Rui Ajax WorldEgl Rui Ajax World
Egl Rui Ajax World
 
Pricing and Revenue Projection in a Cloud-Centric World
Pricing and Revenue Projection in a Cloud-Centric WorldPricing and Revenue Projection in a Cloud-Centric World
Pricing and Revenue Projection in a Cloud-Centric World
 
WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)
 
Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...
Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...
Office 365: Planning and Automating for Hybrid Identity Scenarios in the Clou...
 
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
 
Alfresco CMS (ECMS) - Businessware Technologies
Alfresco CMS (ECMS) - Businessware TechnologiesAlfresco CMS (ECMS) - Businessware Technologies
Alfresco CMS (ECMS) - Businessware Technologies
 

Destacado (6)

Cloud slam pa2 ericsson
Cloud slam pa2 ericssonCloud slam pa2 ericsson
Cloud slam pa2 ericsson
 
Data storage for the cloud ce11
Data storage for the cloud ce11Data storage for the cloud ce11
Data storage for the cloud ce11
 
WPF Intro
WPF IntroWPF Intro
WPF Intro
 
Easy cloud scaling with Azure
Easy cloud scaling with AzureEasy cloud scaling with Azure
Easy cloud scaling with Azure
 
Data storage in the Cloud
Data storage in the CloudData storage in the Cloud
Data storage in the Cloud
 
Data storage in Cloud computing
Data storage in Cloud computingData storage in Cloud computing
Data storage in Cloud computing
 

Similar a Silverlight Document Search Engine

Silverlight development
Silverlight developmentSilverlight development
Silverlight development
Anurag Gupta
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
Martha Rotter
 
Azure And Silverlight
Azure And SilverlightAzure And Silverlight
Azure And Silverlight
choonngee
 

Similar a Silverlight Document Search Engine (20)

Silverlight development
Silverlight developmentSilverlight development
Silverlight development
 
Silverlight development
Silverlight developmentSilverlight development
Silverlight development
 
Silverlight 3.0
Silverlight 3.0Silverlight 3.0
Silverlight 3.0
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
 
Silverlight Briefing Deck
Silverlight  Briefing  DeckSilverlight  Briefing  Deck
Silverlight Briefing Deck
 
Silverlight Training
Silverlight TrainingSilverlight Training
Silverlight Training
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft Silverlight
 
Vijay Mix Presentation
Vijay Mix PresentationVijay Mix Presentation
Vijay Mix Presentation
 
Teched India Vijay Interop Track
Teched India Vijay Interop TrackTeched India Vijay Interop Track
Teched India Vijay Interop Track
 
SilverLight Overview
SilverLight OverviewSilverLight Overview
SilverLight Overview
 
Silver Light for every one by Subodh
Silver Light for every one by SubodhSilver Light for every one by Subodh
Silver Light for every one by Subodh
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Adobe® Flex™
Adobe® Flex™Adobe® Flex™
Adobe® Flex™
 
What is Adobe Flex ?
What is Adobe Flex  ?What is Adobe Flex  ?
What is Adobe Flex ?
 
Black Marble Microsoft Event Azure 3 12 08
Black Marble Microsoft Event Azure 3 12 08Black Marble Microsoft Event Azure 3 12 08
Black Marble Microsoft Event Azure 3 12 08
 
Basics of Silverlight 1
Basics of Silverlight 1Basics of Silverlight 1
Basics of Silverlight 1
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
 
Nuno Godinho
Nuno GodinhoNuno Godinho
Nuno Godinho
 
Azure And Silverlight
Azure And SilverlightAzure And Silverlight
Azure And Silverlight
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Silverlight Document Search Engine

  • 1. Silverlight Document search engine Mustaţă Bogdan mustata.bogdan@rms.ro | RomSoft March 2010
  • 2. Agenda 1. Lucene 1. Silverlight overview 1. Demo & Code
  • 3. Intelligent Crawling and Indexing using Lucene
  • 4. Searching Looking up words in an index Factors Affecting Search: Precision – How well the system can filter Speed Single, Multiple Phase queries, Results ranking, Sorting, Wild card queries, Range queries support
  • 5. Indexing Sequential Search is bad (Not Scalable) Index speeds up selection Index is a special data structure which allows rapid searching. Different Index Implementations - B Trees - Hash Map
  • 6. Search Process Quer y Doc Doc s s Indexing API Hit Inde s x
  • 7. Lucene High-performance, full-featured text search engine library Written 100% in pure java & C# Easy to use yet powerful API Jakarta Apache Product. Strong open source community support.
  • 8. Why Lucene? Open source (Not proprietary) Easy to use, good documentation Interoperable - Ex: Index generated by java can be used by VB, asp, perl application Powerful And Highly Scalable Index Format Designed for interoperability Well Documented Resides on File System, RAM, custom store
  • 9. Indexing With Lucene What type of documents can be indexed? Any document from which text can be fetched and extracted over the net with a URL Uses Inverted Index The index stores statistics about terms in order to make term based search more efficient. http://lucene.apache.org/lucene.net/
  • 10. Demo
  • 11. Silverlight Overview cross-browser cross-platform cross-device Plug-in for building and delivering the next generation of .NET based media experiences and rich interactive applications for the Web
  • 12. Silverlight is a .NET technology Server Desktop & Services .NET Devices, Browser Mobile Silverlight extends your .NET Reach.
  • 13. A Brief History of Silverlight MIX 07 Sep 07 MIX 08 Oct 08 Silverlight 1.0 Silverlight 1.0 Silverlight 2 Silverlight 2 Beta Beta Silverlight 1.1 Alpha MIX 09 Jul 09 PDC 09 Spring 10 Silverlight 3 Beta Silverlight 3 Silverlight 4 Silverlight 4 Beta
  • 14. Silverlight 1.0 Designer / X-Browser High Quality Developer X-Platform Audio/Video Workflow Animation & Skills Reuse Auto-Updater Vector (AJAX) Graphics
  • 15. Silverlight 2 High Flexible Data Rich UI Controls Performance Access & Deep Zoom Runtime Content Robust Role-Based Protection Networking Tools & DLR
  • 16. Silverlight 3 GPU Navigation & Out of Browser Acceleration Validation Perspective H.264 / AAC Transforms & Silverlight Toolkit Pixel Shaders
  • 17. Silverlight 4 Elevated Trust Printing Webcam / Mic Rich Text & Input Localized to 41 HTML Hosting Improvements Languages
  • 18. Presentation Core – Graphics 2D Graphics Vector based Standard shapes and Paths Masking and clipping Transformations: skew, rotate, scale, translate, matrix Animation Basics Time-based Support linear, discrete and spline animation Animatable property types: Double, Color, Point Animations and graphics can be defined using XAML or code
  • 19. Declarative Programming Through XAML Extensive Application Markup Language Toolable, declarative markup Code and content are separate Compatible with Windows Presentation Foundation XAML C# VB.NET <Button Width="100"> OK Button b1 = new Button(); Dim b1 As New Button <Button.Background> b1.Content = "OK"; b1.Content = "OK" LightBlue b1.Background = new SolidColorBrush b1.Background = New _ </Button.Background> (Colors.LightBlue); SolidColorBrush(Colors.LightBlue) </Button> b1.Width = 100; b1.Width = 100
  • 20. Databinding Two way data binding from User interface to business objects Notification via INotifyPropertyChanged DataContext is inherited via Visual Tree From XAML <TextBlock Text="{Binding Nasdaq.Points, Mode=OneWay}"/> Binding binding = new Binding("Nasdaq.Points"); From binding.Mode = BindingMode.OneWay; code TextBlock tb = new TextBlock(); tb.SetBinding(TextBlock.TextProperty, binding);
  • 21. Networking Asynchronous HTTP requests GET/POST Access to most headers, cookies, Uses browser networking stack Caching, authentication, proxy , compression
  • 22. Web Services SOAP 1.1 Basic profile A few restrictions (e.g. SOAP Faults not supported) Asynchronous invocation Follows cross-domain policy restrictions Generated proxies support data binding
  • 23. Sockets TCP only Asynchronous API No explicit bind and no listen/accept support Restricted ports ( 4502-4534) Cross Domain based on provisioning server void Connect(AddressFamily family) { SocketAsyncEventArgs connectArgs = new SocketAsyncEventArgs(); connectArgs.RemoteEndPoint = new DnsEndPoint( Application.Current.Host.Source.Host, 4502); connectArgs.Completed += new EventHandler<SocketAsyncEventArgs>(OnConnectCompleted); socket = new Socket(family, SocketType.Stream, ProtocolType.Tcp); if (!socket.ConnectAsync(connectArgs)) OnConnectCompleted(socket, connectArgs); }
  • 24. Cross-domain support <?xml version="1.0"?> 2 formats: <!DOCTYPE cross-domain-policy SYSTEM Flash policy file "http://www.macromedia.com/xml/dtds/cross-domain-policy. dtd"> Silverlight policy file <cross-domain-policy> <allow-access-from domain="*" /> </cross-domain-policy> Cross-domain.xml <?xml version="1.0"?> <access-policy> <cross-domain-access> <policy> <allow-from> <domain uri="http://customers.shop.com”/>" <domain uri="http://partner.com/app.xap"/> </allow-from> <grant-to> <grant path="/sales/serialnumbers.xml" /> <grant path="/partners" include-subpaths="false"/> </grant-to> </policy> </cross-domain-access> </access-policy> clientaccesspolicy.xml
  • 25. Isolated Storage Stream based access to a private file/directory structure Patterned after .NET Framework IsolatedStorage classes Read and write string or binary data Store is per application XAP Application code to request size increase User prompt to accept quota increase Quotas fall into predetermined size slots Code must initiate increase size call from within user input/event
  • 27. Tooling Server Vista Desktop Server, Services XAML Designer Developer Look, behavior, brand, Function, deployment, data, and emotional connection security, operational integrity Media & RIA
  • 28. Silverlight and WPF Silverlight is related to WPF Plus a few extra web features and its own codecs Reuse strategy Same skills Same tools Same XAML and UI Silverlight code should run on WPF with minor changes
  • 29. Silverlight and .NET: Better Together Highly productive development framework Multi-language support Latest developer innovations (e.g. LINQ, Generics) AJAX integration Great tools Visual Studio Expression Studio Cross-platform & cross-browser plugin Works with Safari, Firefox, Google Chrome and Internet Explorer Mac OS X and Windows Any web server Fast, easy install process Securely extends your web browser’s sandbox Off-line storage, OpenFileDialog, Sockets, cross-domain
  • 30. Demo
  • 31. Q&A Contact Mustaţă Bogdan mustata.bogdan@rms.ro Links http://silverlight.net/ http://team.silverlight.net/ http://www.silverlightshow.net/ MS Expression Studio 3: http://www.microsoft. com/expression/products/Studio_Overview.aspx Silverlight HandsOnLabs: http://silverlight.net/learn/handsonlabs/ Introduction to Silverlight Labs: http://www.microsoft. com/education/facultyconnection/articles/articledetails.aspx?cid=1988&c1=en-us&c2=0 3 Day Deep Dive into Silverlight: http://www.microsoft. com/education/facultyconnection/articles/articledetails.aspx?cid=2023&c1=en-us&c2=0