SlideShare a Scribd company logo
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

More Related Content

What's hot

Websphere Portal
Websphere PortalWebsphere Portal
Websphere Portal
dominion
 
Aws
AwsAws
[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
 
Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlability
Samuel Zürcher
 
IBM WebSphere Portal References Education
IBM WebSphere Portal References EducationIBM WebSphere Portal References Education
IBM WebSphere Portal References Education
Dvir Reznik
 
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 Waredeimos
 
Microsoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not WarMicrosoft+PHP: Make Web Not War
Microsoft+PHP: Make Web Not WarDave Bost
 
01. Portal Business Overview
01. Portal Business Overview01. Portal Business Overview
01. Portal Business OverviewNick Davis
 
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...
Michael Noel
 
Ajax World Oct2008 Jrd
Ajax World Oct2008 JrdAjax World Oct2008 Jrd
Ajax World Oct2008 Jrdrajivmordani
 
Oracle UCM Implementation Patterns
Oracle UCM Implementation PatternsOracle UCM Implementation Patterns
Oracle UCM Implementation Patterns
Brian Huff
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Archluohd
 
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 Worldrajivmordani
 
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
Michele Leroux Bustamante
 
WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)
ejlp12
 
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...
Microsoft TechNet - Belgium and Luxembourg
 
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
 
Alfresco CMS (ECMS) - Businessware Technologies
Alfresco CMS (ECMS) - Businessware TechnologiesAlfresco CMS (ECMS) - Businessware Technologies
Alfresco CMS (ECMS) - Businessware Technologies
asimzaman
 

What's hot (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
 

Viewers also liked

Cloud slam pa2 ericsson
Cloud slam pa2 ericssonCloud slam pa2 ericsson
Cloud slam pa2 ericssonsapenov
 
Data storage for the cloud ce11
Data storage for the cloud ce11Data storage for the cloud ce11
Data storage for the cloud ce11
aseager
 
WPF Intro
WPF IntroWPF Intro
WPF Intro
Mustata Bogdan
 
Easy cloud scaling with Azure
Easy cloud scaling with AzureEasy cloud scaling with Azure
Easy cloud scaling with AzureBogdan Mustata
 
Data storage in the Cloud
Data storage in the CloudData storage in the Cloud
Data storage in the CloudBogdan Mustata
 
Data storage in Cloud computing
Data storage in Cloud computingData storage in Cloud computing
Data storage in Cloud computing
Dong Yuan
 

Viewers also liked (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 to Silverlight Document Search Engine

Silverlight development
Silverlight developmentSilverlight development
Silverlight developmentAnurag Gupta
 
Silverlight development
Silverlight developmentSilverlight development
Silverlight development
Vivek Chaturvedi
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09Martha Rotter
 
Silverlight Briefing Deck
Silverlight  Briefing  DeckSilverlight  Briefing  Deck
Silverlight Briefing Deck
llangit
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft Silverlight
Glen Gordon
 
Vijay Mix Presentation
Vijay Mix PresentationVijay Mix Presentation
Vijay Mix Presentation
vijayrvr
 
Teched India Vijay Interop Track
Teched India Vijay Interop TrackTeched India Vijay Interop Track
Teched India Vijay Interop Track
vijayrvr
 
SilverLight Overview
SilverLight OverviewSilverLight Overview
SilverLight Overview
Christian Thilmany
 
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
Subodh Pushpak
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
vijayrvr
 
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
simondavies
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
guest0a62e8
 
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
Matthias Zeller
 
Nuno Godinho
Nuno GodinhoNuno Godinho
Nuno Godinho
joaogoncalves
 
Azure And Silverlight
Azure And SilverlightAzure And Silverlight
Azure And Silverlightchoonngee
 

Similar to 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
 

Recently uploaded

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

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