SlideShare a Scribd company logo
1 of 31
8 – 10 March 2011 | Dubai, UAE
SESSION CODE: OSP305



                                        8 – 10 March 2011 | Dubai, UAE



  SharePoint Sandboxed Solutions and
  InfoPath
 Ayman El-Hattab       Mohamed Yehia
 Microsoft MVP         TSP, Microsoft
Ayman El-Hattab
• Technology Specialist
• Contributor Author – SharePoint 2010 Unleashed




                                              www.aymanelhattab.com

                                              @aymanelhattab
                                              v-ayele@microsoft.com
Mohamed Yehia
• Technology Specialist – Microsoft
• SharePoint friend since 2004




                                      www.mohamedyehia.net

                                      @mohdyehia
                                      v-myehia@microsoft.com
                                      facebook.com/mohdyehia
Agenda

Creating Forms with InfoPath 2010

                                    Demo: Order Forms

Developing Sandbox Solutions

                        Demo: Integrating Sandbox with InfoPath

Summary
NEED TO HAVE SHIRTS FOR
TECHED SPEAKERS
What is InfoPath?

                          Form Designer & Filler
                         Browser and Client forms


                    Visual Layout

                    Form Logic

                    Data Connection
InfoPath Vs. ASP.NET
Building Uniform
Order Form
Demo
SANDBOX SOLUTIONS
Outline

•Challenges
•What are Sandbox Solutions?
•How do they work?
•What can I do them Sandbox Solutions?
•How can they be managed?
Challenges
•Dev, Admin Fight!
 •Change production farm to Full 
 •Memory Leaks
 •Update web.config files
 •Bad code that eats up farm resources
 •Deploy everything to the GAC
•Admins have some control using CAS
 •Difficult to implement
 •Difficult to get right
•Largest cause of SharePoint Support cases
Overview of the Sandbox

•Allows a subset of the full capabilities
 in the SharePoint API
•Secure – enforcing the sandbox
 •Execute in a partially trusted environment
 •Code executes in a special service process
 •Subject to CAS
 •Validation framework
   • Provides way to do custom farm wide validation for the deployed packages
 •Each solution is isolated to its site collection
AspNetHostingPermission, Level=Minimal
                                        SharePointPermission, ObjectModel=true
        Sandbox                           SecurityPermission, Flags=Execution
            My.dll                                   User Code

Other.dll            System DLL                wss_usercode.config

    SharePoint                                   Framework Code
       DLL

                                                      Full Trust



                                  SharePoint OM
        Subset OM
Sandboxed Solutions Process

                   Root SPWeb of SPSite                Per-WFE AssemblyCache
               1
                    Solution gallery   2   5            <siteguid>company.
WebParts.wsp
                                                        intranet.webpart.wsp
                    Web Part gallery                    foo.dll

                                                                                6
                                                   4


                                                         Sandboxed Worker
               3                                              Process
                                               7
Sandboxed Solution Lifecycle
Installation
• Upload into Solution Gallery


      Activation
      • Auto-activates features

             Deactivation
             • Inert operation, extended by developer
             • Web Parts no longer execute


                    Deletion
Developing a
Sandbox Solution
Demo
Types of Sandboxed Solutions                            Sandboxed
                                                        Solutions Support


                                                                                     Event/Feature
• Sandboxed solutions offer                                Non-Visual Web Parts
                                                                                       Receivers
  developers a subset of the
  SharePoint API available fully
  trusted solutions                                          Feature Activation     Custom Workflow
   •   Site collection and                                        Events                 Actions
       site scoped Features
   •   Many XML constructs available: Modules, Lists,
       ContentTypes, etc.
                                                          InfoPath Forms Services    List Definitions
• Client technologies to access
  external data – JavaScript,                                Custom Actions           Site Pages
  Silverlight etc.
   •   Offloading resource usage and                           Site Columns         Content Types
       access handling to client
Sandbox Boundaries
  •No SPSecurity
  •No SPSite constructor
  •Off-box connections, http, web services, etc
  •ADO.net
  •Enterprise features (Search, BCS, etc.)
  •Threading
  •P-Invoke
  •IO
  •Other sites
SANDBOX RESOURCE MONITORING
Load Balancing
•Sandboxed solutions can be run
 in two modes
 •Local Mode
  • Execute code on the SharePoint WFE
  • Low administration overhead
  • Lower scalability
 •Remote Mode
  • Execution on back-end farm machine
    • Via dedicated service applications
  • Load balanced distribution of code
    execution requests
Sandbox Solution Monitoring
How it works
•Site collection quotas specify the warning and hard limits for
 number of resources that can be used per day
•Sum of resource measures are taken across solutions
 deployed to site collection
 •I.e., add up CPU Points for all solutions
•Max of resource utilization measures checked against site
 collection quota to determine if it should be throttled/blocked
Monitored Resources
                                                                                                               Resources Per Hard
  Metric Name                       Description                                  Units
                                                                                                               Point         Limit
  AbnormalProcessTerminationCount   Process gets abnormally terminated           Count                         1             1
  CPUExecutionTime                  CPU exception time                           Seconds                       200           60
  CriticalExceptionCount            Critical exception fired                     Number                        10            3
                                    Number of times solution
  InvocationCount                                                                Count                         N/A           N/A
                                    has been invoked
                                                                                 Percentage Units of Overall
  PercentProcessorTime              Note: # of cores not factored in                                           85            100
                                                                                 Processor Consumed
  ProcessCPUCycles                                                               CPU Cycles                    1E+11         1E+11
  ProcessHandleCount                                                             Windows Handles               10,000        5,000
                                    (Hard Limit Only) Bytes written                                            1E+07
  ProcessIOBytes                                                                 Bytes                                       1E+08
                                    to IO
                                    Number of Threads
  ProcessThreadCount                                                             Threads                       10,000        200
                                    in Overall Process
                                    (Hard Limit Only)
  ProcessVirtualBytes                                                            Bytes                         1E+09         4E+09
                                    Memory consumed
  SharePointDatabaseQueryCount      SharePoint DB Queries Invoked                Number                        400           100
                                    Amount of time spent waiting
  SharePointDatabaseQueryTime                                                    Seconds                       20            60
                                    for a query to be performed
  UnhandledExceptionCount           Unhanded Exceptions                                                        50            3
                                    We have to kill the process because it has
  UnresponsiveprocessCount                                                       Number                        2             1
                                    become unresponsive


       You can tweak these values to fit your need…
Sandbox Solution Monitoring
Case Study

• A solution has executed 40 SQL queries (via the SharePoint
  OM)
• One point for SQL is 400 queries
• Means for SQL it’s consumed .1 resource points
• So the resource usage is for the day for that solution is .1
  resource points + other counters
Sorting Uniform
Order Form
Demo
Key Takeaways

•You can build complex forms using InfoPath (Rapid Application
 Development)
•Consider Sandbox Solutions first
 •Safe
 •Monitored
 •Allow more manageable hosting scenarios
•Quotas are for all sandbox solutions in the site collection
• Be creative with your solution design (Use Silverlight + WCF)
•InfoPath + Sandboxed Solution  Better Together
Related Content
  Data-Centric Composites and Mashups in SharePoint 2010
  09 March 2011 09:00 AM - 10:00 AM - Room: Yellow Theatre 2


  SharePoint 2010 Developer Overview
  09 March 2011 03:30 PM - 04:30 PM - Room: Green Room 3

  Build Compelling Intranets and Extranets with SharePoint 2010
  09 March 2011 11:45 AM - 12:45 PM - Room: Green Room 2


  SharePoint Sandboxed Solutions and InfoPath
  10 March 2011 09:00 AM - 10:00 AM
8 – 10 March 2011 | Dubai, UAE




Complete an
evaluation on
CommZone and enter
to win a HP Laptop!
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and
                                  Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

What's hot

Inside Android's Dalvik VM - NEJUG Nov 2011
Inside Android's Dalvik VM - NEJUG Nov 2011Inside Android's Dalvik VM - NEJUG Nov 2011
Inside Android's Dalvik VM - NEJUG Nov 2011Doug Hawkins
 
Building Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGiBuilding Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGiCédric Hüsler
 
Alliance Successful Selenium Automation
Alliance Successful Selenium AutomationAlliance Successful Selenium Automation
Alliance Successful Selenium Automationsadams22
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
 
ITCamp 2011 - Alessandro Pilotti - Optimizing ASPNet and PHP apps on IIS 7.5
ITCamp 2011 - Alessandro Pilotti - Optimizing ASPNet and PHP apps on IIS 7.5ITCamp 2011 - Alessandro Pilotti - Optimizing ASPNet and PHP apps on IIS 7.5
ITCamp 2011 - Alessandro Pilotti - Optimizing ASPNet and PHP apps on IIS 7.5ITCamp
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Editionddrschiw
 
02.egovFrame Development Environment training book
02.egovFrame Development Environment training book02.egovFrame Development Environment training book
02.egovFrame Development Environment training bookChuong Nguyen
 
02.egovFrame Development Environment workshop I
02.egovFrame  Development Environment workshop I02.egovFrame  Development Environment workshop I
02.egovFrame Development Environment workshop IChuong Nguyen
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
01.egovFrame Training Book II
01.egovFrame Training Book II01.egovFrame Training Book II
01.egovFrame Training Book IIChuong Nguyen
 
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...Stephan H. Wissel
 
Create a welcoming development environment on IBM i
Create a welcoming development environment on IBM iCreate a welcoming development environment on IBM i
Create a welcoming development environment on IBM iAlan Seiden
 
What Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouWhat Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouJohn Pape
 
Concierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesConcierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesJan S. Rellermeyer
 
OSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishOSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishArun Gupta
 
02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)Chuong Nguyen
 
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation WikisAD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation Wikisddrschiw
 
Ad110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of XpagesAd110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of Xpagesddrschiw
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewEugene Bogaart
 
Ad106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting BetterAd106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting Betterddrschiw
 

What's hot (20)

Inside Android's Dalvik VM - NEJUG Nov 2011
Inside Android's Dalvik VM - NEJUG Nov 2011Inside Android's Dalvik VM - NEJUG Nov 2011
Inside Android's Dalvik VM - NEJUG Nov 2011
 
Building Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGiBuilding Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGi
 
Alliance Successful Selenium Automation
Alliance Successful Selenium AutomationAlliance Successful Selenium Automation
Alliance Successful Selenium Automation
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
 
ITCamp 2011 - Alessandro Pilotti - Optimizing ASPNet and PHP apps on IIS 7.5
ITCamp 2011 - Alessandro Pilotti - Optimizing ASPNet and PHP apps on IIS 7.5ITCamp 2011 - Alessandro Pilotti - Optimizing ASPNet and PHP apps on IIS 7.5
ITCamp 2011 - Alessandro Pilotti - Optimizing ASPNet and PHP apps on IIS 7.5
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
 
02.egovFrame Development Environment training book
02.egovFrame Development Environment training book02.egovFrame Development Environment training book
02.egovFrame Development Environment training book
 
02.egovFrame Development Environment workshop I
02.egovFrame  Development Environment workshop I02.egovFrame  Development Environment workshop I
02.egovFrame Development Environment workshop I
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
01.egovFrame Training Book II
01.egovFrame Training Book II01.egovFrame Training Book II
01.egovFrame Training Book II
 
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
SHOW107: The DataSource Session: Take XPages data boldly where no XPages data...
 
Create a welcoming development environment on IBM i
Create a welcoming development environment on IBM iCreate a welcoming development environment on IBM i
Create a welcoming development environment on IBM i
 
What Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouWhat Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell You
 
Concierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesConcierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded Devices
 
OSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishOSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFish
 
02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)02. egovFrame Development Environment workshop II en(nexus&ci)
02. egovFrame Development Environment workshop II en(nexus&ci)
 
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation WikisAD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
 
Ad110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of XpagesAd110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of Xpages
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
 
Ad106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting BetterAd106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting Better
 

Viewers also liked

OSP303 SharePoint 2010 – Planning High Availability for SharePoint 2010 Farms
OSP303 SharePoint 2010 – Planning High Availability for SharePoint 2010 FarmsOSP303 SharePoint 2010 – Planning High Availability for SharePoint 2010 Farms
OSP303 SharePoint 2010 – Planning High Availability for SharePoint 2010 FarmsKnowledge Cue
 
How Cloud Computing Will Transform Information Management
How Cloud Computing Will Transform Information ManagementHow Cloud Computing Will Transform Information Management
How Cloud Computing Will Transform Information ManagementKnowledge Cue
 
SharePoint Post Deployment Stress Management NZSPC
SharePoint   Post Deployment Stress Management NZSPCSharePoint   Post Deployment Stress Management NZSPC
SharePoint Post Deployment Stress Management NZSPCKnowledge Cue
 
ARMA San Antonio 02 8-2012
ARMA San Antonio 02 8-2012ARMA San Antonio 02 8-2012
ARMA San Antonio 02 8-2012Mike Alsup
 
Mark Orange - SharePoint 2010 Content Types Model - SPC NZ 2011
Mark Orange - SharePoint 2010 Content Types Model - SPC NZ 2011Mark Orange - SharePoint 2010 Content Types Model - SPC NZ 2011
Mark Orange - SharePoint 2010 Content Types Model - SPC NZ 2011Knowledge Cue
 
SharePoint 2010 best practices for infrastructure deployments SharePoint Sat...
SharePoint 2010 best practices for infrastructure deployments  SharePoint Sat...SharePoint 2010 best practices for infrastructure deployments  SharePoint Sat...
SharePoint 2010 best practices for infrastructure deployments SharePoint Sat...Knowledge Cue
 
How to - analysis and design of web publishing solutions with SharePoint
How to - analysis and design of web publishing solutions with SharePointHow to - analysis and design of web publishing solutions with SharePoint
How to - analysis and design of web publishing solutions with SharePointKnowledge Cue
 

Viewers also liked (7)

OSP303 SharePoint 2010 – Planning High Availability for SharePoint 2010 Farms
OSP303 SharePoint 2010 – Planning High Availability for SharePoint 2010 FarmsOSP303 SharePoint 2010 – Planning High Availability for SharePoint 2010 Farms
OSP303 SharePoint 2010 – Planning High Availability for SharePoint 2010 Farms
 
How Cloud Computing Will Transform Information Management
How Cloud Computing Will Transform Information ManagementHow Cloud Computing Will Transform Information Management
How Cloud Computing Will Transform Information Management
 
SharePoint Post Deployment Stress Management NZSPC
SharePoint   Post Deployment Stress Management NZSPCSharePoint   Post Deployment Stress Management NZSPC
SharePoint Post Deployment Stress Management NZSPC
 
ARMA San Antonio 02 8-2012
ARMA San Antonio 02 8-2012ARMA San Antonio 02 8-2012
ARMA San Antonio 02 8-2012
 
Mark Orange - SharePoint 2010 Content Types Model - SPC NZ 2011
Mark Orange - SharePoint 2010 Content Types Model - SPC NZ 2011Mark Orange - SharePoint 2010 Content Types Model - SPC NZ 2011
Mark Orange - SharePoint 2010 Content Types Model - SPC NZ 2011
 
SharePoint 2010 best practices for infrastructure deployments SharePoint Sat...
SharePoint 2010 best practices for infrastructure deployments  SharePoint Sat...SharePoint 2010 best practices for infrastructure deployments  SharePoint Sat...
SharePoint 2010 best practices for infrastructure deployments SharePoint Sat...
 
How to - analysis and design of web publishing solutions with SharePoint
How to - analysis and design of web publishing solutions with SharePointHow to - analysis and design of web publishing solutions with SharePoint
How to - analysis and design of web publishing solutions with SharePoint
 

Similar to SharePoint Sandboxed Solutions and InfoPath - TechEd Middle East

Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandboxElaine Van Bergen
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandboxElaine Van Bergen
 
Sps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client sideSps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client sideElaine Van Bergen
 
Getting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online developmentGetting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online developmentJeremy Thake
 
SharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperSharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperK.Mohamed Faizal
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint BeastMark Rackley
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastMark Rackley
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent Biret
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent Biret
 
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - publicMostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - publicSharePoint Saturday NY
 
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best Practices
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best PracticesMostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best Practices
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best PracticesSharePoint Saturday NY
 
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...MindShare_kk
 
Node.js Enterprise Middleware
Node.js Enterprise MiddlewareNode.js Enterprise Middleware
Node.js Enterprise MiddlewareBehrad Zari
 
Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019Andrea Tosato
 

Similar to SharePoint Sandboxed Solutions and InfoPath - TechEd Middle East (20)

Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
 
Dealing with and learning from the sandbox
Dealing with and learning from the sandboxDealing with and learning from the sandbox
Dealing with and learning from the sandbox
 
Sps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client sideSps bris - Customising Office 365 on the Client side
Sps bris - Customising Office 365 on the Client side
 
Getting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online developmentGetting started with Office 365 SharePoint 2010 online development
Getting started with Office 365 SharePoint 2010 online development
 
SharePoint 2010 Online for Developer
SharePoint 2010 Online for DeveloperSharePoint 2010 Online for Developer
SharePoint 2010 Online for Developer
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
 
20120306 dublin js
20120306 dublin js20120306 dublin js
20120306 dublin js
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
 
STUG-Sand boxed Solution
STUG-Sand boxed SolutionSTUG-Sand boxed Solution
STUG-Sand boxed Solution
 
Afs manager
Afs managerAfs manager
Afs manager
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
 
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - publicMostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
Mostafa Elzoghbi: SharePoint 2010 Sanbbox Solutions bestpractices - public
 
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best Practices
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best PracticesMostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best Practices
Mostafa Elzoghbi: SharePoint 2010 Sandbox Solutions Best Practices
 
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...
BlackHat EU 2012 - Zhenhua Liu - Breeding Sandworms: How To Fuzz Your Way Out...
 
Loom promises: be there!
Loom promises: be there!Loom promises: be there!
Loom promises: be there!
 
Eclipse e4
Eclipse e4Eclipse e4
Eclipse e4
 
Stackato
StackatoStackato
Stackato
 
Node.js Enterprise Middleware
Node.js Enterprise MiddlewareNode.js Enterprise Middleware
Node.js Enterprise Middleware
 
Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019Deep Dive Azure Functions - Global Azure Bootcamp 2019
Deep Dive Azure Functions - Global Azure Bootcamp 2019
 

More from Ayman El-Hattab

Application Lifecycle Management for Nintex Solutions
Application Lifecycle Management for Nintex SolutionsApplication Lifecycle Management for Nintex Solutions
Application Lifecycle Management for Nintex SolutionsAyman El-Hattab
 
Boost O365 User Adoption with 10 Cool Add-ins!
Boost O365 User Adoption with 10 Cool Add-ins!Boost O365 User Adoption with 10 Cool Add-ins!
Boost O365 User Adoption with 10 Cool Add-ins!Ayman El-Hattab
 
Light Up Your Intranet with 10 Cools Apps
Light Up Your Intranet with 10 Cools AppsLight Up Your Intranet with 10 Cools Apps
Light Up Your Intranet with 10 Cools AppsAyman El-Hattab
 
Web Content Management in SharePoint Server 2013 & Office 365
Web Content Management in SharePoint Server 2013 & Office 365Web Content Management in SharePoint Server 2013 & Office 365
Web Content Management in SharePoint Server 2013 & Office 365Ayman El-Hattab
 
Visual Studio 2012 Tools for Team Work - From Visual Studio 2012 Launch in Egypt
Visual Studio 2012 Tools for Team Work - From Visual Studio 2012 Launch in EgyptVisual Studio 2012 Tools for Team Work - From Visual Studio 2012 Launch in Egypt
Visual Studio 2012 Tools for Team Work - From Visual Studio 2012 Launch in EgyptAyman El-Hattab
 
Using Virtual Test Labs for SharePoint
Using Virtual Test Labs for SharePoint Using Virtual Test Labs for SharePoint
Using Virtual Test Labs for SharePoint Ayman El-Hattab
 
TechDays Tunisia - Visual Studio & SQL Server, Better Together - Ayman El-Hattab
TechDays Tunisia - Visual Studio & SQL Server, Better Together - Ayman El-HattabTechDays Tunisia - Visual Studio & SQL Server, Better Together - Ayman El-Hattab
TechDays Tunisia - Visual Studio & SQL Server, Better Together - Ayman El-HattabAyman El-Hattab
 
SQL Server Development Tools & Processes Using Visual Studio 2010
SQL Server Development Tools & Processes Using Visual Studio 2010 SQL Server Development Tools & Processes Using Visual Studio 2010
SQL Server Development Tools & Processes Using Visual Studio 2010 Ayman El-Hattab
 
Visual Studio 2010 Testing & Lab Management Tools
Visual Studio 2010 Testing & Lab Management ToolsVisual Studio 2010 Testing & Lab Management Tools
Visual Studio 2010 Testing & Lab Management ToolsAyman El-Hattab
 
Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Ayman El-Hattab
 
SharePoint Application Lifecycle Management (ALM)
SharePoint Application Lifecycle Management (ALM)SharePoint Application Lifecycle Management (ALM)
SharePoint Application Lifecycle Management (ALM)Ayman El-Hattab
 
SharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformSharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformAyman El-Hattab
 
Data-Centric Composites and Mashups in SharePoint 2010 - TechEd Middle East
Data-Centric Composites and Mashups in SharePoint 2010 - TechEd Middle EastData-Centric Composites and Mashups in SharePoint 2010 - TechEd Middle East
Data-Centric Composites and Mashups in SharePoint 2010 - TechEd Middle EastAyman El-Hattab
 
Creating No-Code BCS Solutions in SharePoint 2010 and Office 2010–From TechEd...
Creating No-Code BCS Solutions in SharePoint 2010 and Office 2010–From TechEd...Creating No-Code BCS Solutions in SharePoint 2010 and Office 2010–From TechEd...
Creating No-Code BCS Solutions in SharePoint 2010 and Office 2010–From TechEd...Ayman El-Hattab
 
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVP
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVPConnecting to LOB Systems Using BCS, Ayman El-Hattab, MVP
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVPAyman El-Hattab
 
Feature and Solution Framework in SharePoint 2010, Ayman El-Hattab MVP
Feature and Solution Framework in SharePoint 2010, Ayman El-Hattab MVPFeature and Solution Framework in SharePoint 2010, Ayman El-Hattab MVP
Feature and Solution Framework in SharePoint 2010, Ayman El-Hattab MVPAyman El-Hattab
 
SharePoint 2010 Web Application Architecture_ Ayman El-Hattab,MVP
SharePoint 2010 Web Application Architecture_ Ayman El-Hattab,MVPSharePoint 2010 Web Application Architecture_ Ayman El-Hattab,MVP
SharePoint 2010 Web Application Architecture_ Ayman El-Hattab,MVPAyman El-Hattab
 
SharePoint 2010 Service Application Architecture_ Ayman El-Hattab,MVP
SharePoint 2010 Service Application Architecture_ Ayman El-Hattab,MVPSharePoint 2010 Service Application Architecture_ Ayman El-Hattab,MVP
SharePoint 2010 Service Application Architecture_ Ayman El-Hattab,MVPAyman El-Hattab
 
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVPSharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVPAyman El-Hattab
 
Introducing SharePoint 2010 to Computer Science Students
Introducing SharePoint 2010 to Computer Science StudentsIntroducing SharePoint 2010 to Computer Science Students
Introducing SharePoint 2010 to Computer Science StudentsAyman El-Hattab
 

More from Ayman El-Hattab (20)

Application Lifecycle Management for Nintex Solutions
Application Lifecycle Management for Nintex SolutionsApplication Lifecycle Management for Nintex Solutions
Application Lifecycle Management for Nintex Solutions
 
Boost O365 User Adoption with 10 Cool Add-ins!
Boost O365 User Adoption with 10 Cool Add-ins!Boost O365 User Adoption with 10 Cool Add-ins!
Boost O365 User Adoption with 10 Cool Add-ins!
 
Light Up Your Intranet with 10 Cools Apps
Light Up Your Intranet with 10 Cools AppsLight Up Your Intranet with 10 Cools Apps
Light Up Your Intranet with 10 Cools Apps
 
Web Content Management in SharePoint Server 2013 & Office 365
Web Content Management in SharePoint Server 2013 & Office 365Web Content Management in SharePoint Server 2013 & Office 365
Web Content Management in SharePoint Server 2013 & Office 365
 
Visual Studio 2012 Tools for Team Work - From Visual Studio 2012 Launch in Egypt
Visual Studio 2012 Tools for Team Work - From Visual Studio 2012 Launch in EgyptVisual Studio 2012 Tools for Team Work - From Visual Studio 2012 Launch in Egypt
Visual Studio 2012 Tools for Team Work - From Visual Studio 2012 Launch in Egypt
 
Using Virtual Test Labs for SharePoint
Using Virtual Test Labs for SharePoint Using Virtual Test Labs for SharePoint
Using Virtual Test Labs for SharePoint
 
TechDays Tunisia - Visual Studio & SQL Server, Better Together - Ayman El-Hattab
TechDays Tunisia - Visual Studio & SQL Server, Better Together - Ayman El-HattabTechDays Tunisia - Visual Studio & SQL Server, Better Together - Ayman El-Hattab
TechDays Tunisia - Visual Studio & SQL Server, Better Together - Ayman El-Hattab
 
SQL Server Development Tools & Processes Using Visual Studio 2010
SQL Server Development Tools & Processes Using Visual Studio 2010 SQL Server Development Tools & Processes Using Visual Studio 2010
SQL Server Development Tools & Processes Using Visual Studio 2010
 
Visual Studio 2010 Testing & Lab Management Tools
Visual Studio 2010 Testing & Lab Management ToolsVisual Studio 2010 Testing & Lab Management Tools
Visual Studio 2010 Testing & Lab Management Tools
 
Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview
 
SharePoint Application Lifecycle Management (ALM)
SharePoint Application Lifecycle Management (ALM)SharePoint Application Lifecycle Management (ALM)
SharePoint Application Lifecycle Management (ALM)
 
SharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformSharePoint 2010 as a Development Platform
SharePoint 2010 as a Development Platform
 
Data-Centric Composites and Mashups in SharePoint 2010 - TechEd Middle East
Data-Centric Composites and Mashups in SharePoint 2010 - TechEd Middle EastData-Centric Composites and Mashups in SharePoint 2010 - TechEd Middle East
Data-Centric Composites and Mashups in SharePoint 2010 - TechEd Middle East
 
Creating No-Code BCS Solutions in SharePoint 2010 and Office 2010–From TechEd...
Creating No-Code BCS Solutions in SharePoint 2010 and Office 2010–From TechEd...Creating No-Code BCS Solutions in SharePoint 2010 and Office 2010–From TechEd...
Creating No-Code BCS Solutions in SharePoint 2010 and Office 2010–From TechEd...
 
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVP
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVPConnecting to LOB Systems Using BCS, Ayman El-Hattab, MVP
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVP
 
Feature and Solution Framework in SharePoint 2010, Ayman El-Hattab MVP
Feature and Solution Framework in SharePoint 2010, Ayman El-Hattab MVPFeature and Solution Framework in SharePoint 2010, Ayman El-Hattab MVP
Feature and Solution Framework in SharePoint 2010, Ayman El-Hattab MVP
 
SharePoint 2010 Web Application Architecture_ Ayman El-Hattab,MVP
SharePoint 2010 Web Application Architecture_ Ayman El-Hattab,MVPSharePoint 2010 Web Application Architecture_ Ayman El-Hattab,MVP
SharePoint 2010 Web Application Architecture_ Ayman El-Hattab,MVP
 
SharePoint 2010 Service Application Architecture_ Ayman El-Hattab,MVP
SharePoint 2010 Service Application Architecture_ Ayman El-Hattab,MVPSharePoint 2010 Service Application Architecture_ Ayman El-Hattab,MVP
SharePoint 2010 Service Application Architecture_ Ayman El-Hattab,MVP
 
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVPSharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
 
Introducing SharePoint 2010 to Computer Science Students
Introducing SharePoint 2010 to Computer Science StudentsIntroducing SharePoint 2010 to Computer Science Students
Introducing SharePoint 2010 to Computer Science Students
 

Recently uploaded

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

SharePoint Sandboxed Solutions and InfoPath - TechEd Middle East

  • 1. 8 – 10 March 2011 | Dubai, UAE
  • 2. SESSION CODE: OSP305 8 – 10 March 2011 | Dubai, UAE SharePoint Sandboxed Solutions and InfoPath Ayman El-Hattab Mohamed Yehia Microsoft MVP TSP, Microsoft
  • 3. Ayman El-Hattab • Technology Specialist • Contributor Author – SharePoint 2010 Unleashed www.aymanelhattab.com @aymanelhattab v-ayele@microsoft.com
  • 4. Mohamed Yehia • Technology Specialist – Microsoft • SharePoint friend since 2004 www.mohamedyehia.net @mohdyehia v-myehia@microsoft.com facebook.com/mohdyehia
  • 5. Agenda Creating Forms with InfoPath 2010 Demo: Order Forms Developing Sandbox Solutions Demo: Integrating Sandbox with InfoPath Summary
  • 6. NEED TO HAVE SHIRTS FOR TECHED SPEAKERS
  • 7. What is InfoPath? Form Designer & Filler Browser and Client forms Visual Layout Form Logic Data Connection
  • 8.
  • 12. Outline •Challenges •What are Sandbox Solutions? •How do they work? •What can I do them Sandbox Solutions? •How can they be managed?
  • 13. Challenges •Dev, Admin Fight! •Change production farm to Full  •Memory Leaks •Update web.config files •Bad code that eats up farm resources •Deploy everything to the GAC •Admins have some control using CAS •Difficult to implement •Difficult to get right •Largest cause of SharePoint Support cases
  • 14. Overview of the Sandbox •Allows a subset of the full capabilities in the SharePoint API •Secure – enforcing the sandbox •Execute in a partially trusted environment •Code executes in a special service process •Subject to CAS •Validation framework • Provides way to do custom farm wide validation for the deployed packages •Each solution is isolated to its site collection
  • 15. AspNetHostingPermission, Level=Minimal SharePointPermission, ObjectModel=true Sandbox SecurityPermission, Flags=Execution My.dll User Code Other.dll System DLL wss_usercode.config SharePoint Framework Code DLL Full Trust SharePoint OM Subset OM
  • 16. Sandboxed Solutions Process Root SPWeb of SPSite Per-WFE AssemblyCache 1 Solution gallery 2 5 <siteguid>company. WebParts.wsp intranet.webpart.wsp Web Part gallery foo.dll 6 4 Sandboxed Worker 3 Process 7
  • 17. Sandboxed Solution Lifecycle Installation • Upload into Solution Gallery Activation • Auto-activates features Deactivation • Inert operation, extended by developer • Web Parts no longer execute Deletion
  • 19. Types of Sandboxed Solutions Sandboxed Solutions Support Event/Feature • Sandboxed solutions offer Non-Visual Web Parts Receivers developers a subset of the SharePoint API available fully trusted solutions Feature Activation Custom Workflow • Site collection and Events Actions site scoped Features • Many XML constructs available: Modules, Lists, ContentTypes, etc. InfoPath Forms Services List Definitions • Client technologies to access external data – JavaScript, Custom Actions Site Pages Silverlight etc. • Offloading resource usage and Site Columns Content Types access handling to client
  • 20. Sandbox Boundaries •No SPSecurity •No SPSite constructor •Off-box connections, http, web services, etc •ADO.net •Enterprise features (Search, BCS, etc.) •Threading •P-Invoke •IO •Other sites
  • 22. Load Balancing •Sandboxed solutions can be run in two modes •Local Mode • Execute code on the SharePoint WFE • Low administration overhead • Lower scalability •Remote Mode • Execution on back-end farm machine • Via dedicated service applications • Load balanced distribution of code execution requests
  • 23. Sandbox Solution Monitoring How it works •Site collection quotas specify the warning and hard limits for number of resources that can be used per day •Sum of resource measures are taken across solutions deployed to site collection •I.e., add up CPU Points for all solutions •Max of resource utilization measures checked against site collection quota to determine if it should be throttled/blocked
  • 24. Monitored Resources Resources Per Hard Metric Name Description Units Point Limit AbnormalProcessTerminationCount Process gets abnormally terminated Count 1 1 CPUExecutionTime CPU exception time Seconds 200 60 CriticalExceptionCount Critical exception fired Number 10 3 Number of times solution InvocationCount Count N/A N/A has been invoked Percentage Units of Overall PercentProcessorTime Note: # of cores not factored in 85 100 Processor Consumed ProcessCPUCycles CPU Cycles 1E+11 1E+11 ProcessHandleCount Windows Handles 10,000 5,000 (Hard Limit Only) Bytes written 1E+07 ProcessIOBytes Bytes 1E+08 to IO Number of Threads ProcessThreadCount Threads 10,000 200 in Overall Process (Hard Limit Only) ProcessVirtualBytes Bytes 1E+09 4E+09 Memory consumed SharePointDatabaseQueryCount SharePoint DB Queries Invoked Number 400 100 Amount of time spent waiting SharePointDatabaseQueryTime Seconds 20 60 for a query to be performed UnhandledExceptionCount Unhanded Exceptions 50 3 We have to kill the process because it has UnresponsiveprocessCount Number 2 1 become unresponsive You can tweak these values to fit your need…
  • 25. Sandbox Solution Monitoring Case Study • A solution has executed 40 SQL queries (via the SharePoint OM) • One point for SQL is 400 queries • Means for SQL it’s consumed .1 resource points • So the resource usage is for the day for that solution is .1 resource points + other counters
  • 27. Key Takeaways •You can build complex forms using InfoPath (Rapid Application Development) •Consider Sandbox Solutions first •Safe •Monitored •Allow more manageable hosting scenarios •Quotas are for all sandbox solutions in the site collection • Be creative with your solution design (Use Silverlight + WCF) •InfoPath + Sandboxed Solution  Better Together
  • 28.
  • 29. Related Content Data-Centric Composites and Mashups in SharePoint 2010 09 March 2011 09:00 AM - 10:00 AM - Room: Yellow Theatre 2 SharePoint 2010 Developer Overview 09 March 2011 03:30 PM - 04:30 PM - Room: Green Room 3 Build Compelling Intranets and Extranets with SharePoint 2010 09 March 2011 11:45 AM - 12:45 PM - Room: Green Room 2 SharePoint Sandboxed Solutions and InfoPath 10 March 2011 09:00 AM - 10:00 AM
  • 30. 8 – 10 March 2011 | Dubai, UAE Complete an evaluation on CommZone and enter to win a HP Laptop!
  • 31. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Editor's Notes

  1. InfoPath consists of three different components:A Form DesignerA Form Filler And InfoPath Forms Services - InfoPath Forms Services is part of the SharePoint platform and allows our forms to be render in a browserWhat kind of capabilities do our forms have?Obviously we give you control over the visual representation of the actual formWe also make it easy to define form behavior through either declarative rules or writing managed code.And third, we allow you to connect InfoPath forms to a wide range of data sources.
  2. An incoming request comes in for a page with a Web Part from a partial trust assembly.   This is delegated to a Web Part proxy.  The Web Part proxy then in turn calls the worker process manager, and tells it to execute the Web Part. The worker process manager queries the configuration database to figure out which machine and process it should send the request to. The worker process then sends the request to the user code manager on that machine. The user code manager needs to ensure that the assembly backing the Web Part is locally deployed.  To do this, it reaches back into the Web Part solution package, extracts the assembly, and places it into the assembly cache. Now, the SPUserCodeManager (SPUserCodeHostService.exe) delegates the request to execute the code to SPUserCodeWorkerProcess.exe. The full trust Web Part wrapper works with the instantiated process to simulate the Web Part lifecycle.  The Web Part itself calls into the SharePoint OM to retrieve some set of data. The resulting HTML and viewstate changes are bubbled back to the hosting process, which has been synchronously waiting for this infrastructure to complete. The resulting page is sent back to the user.Rendered results sent back to the requester.