SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Rovinj, 23. – 26. travnja 2012.
Are good SharePoint
solutions only a myth?
ADIS JUGO
MVP
PlanB.
Sponzori
Isključite zvuk
telefona
Are good SharePoint
solutions only a myth?
Are good SharePoint
  solutions only a myth?

... the developer community is full with statements like "there are
good developers, there are bad developers, and then there are
SharePoint developers"; or "there is solid software architecture, and
then there are SharePoint solutions"
Perception of SharePoint Applications




WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
Expectations…




WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
Time and costs estimation




WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
Architecting SharePoint solutions




WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
What is wrong with this web part?




                                    Adis Jugo, PlanB.
Types of SharePoint solutions

             • Enterprise SharePoint Solutions

             • SharePoint SandBox Solutions

             • Solutions that use SharePoint data




WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
4 questions for architects

             • How will the users be using the application?

             • How will the application be deployed into production
               and managed?

             • What are the quality attribute requirements for the
               application (security, performance, concurrency,
               localization, and configuration)

             • How can the application be designed to be flexible
               and maintainable over time?

WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
Architecture Considerations
            Quality attributes
                                 –   Security
                                 –   Performance
                                 –   Concurrency
                                 –   Localization / Internationalization
                                 –   Configuration

             • Considerations
                                 –   …




             • Impersonation

             • Logging

             • Caching

             • Testing

             • Deployment

             • Flexibility / Manageability / FutureProof


WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
ENTERPRISE
SHAREPOINT
SOLUTIONS
A SharePoint Solution

                                   Managet
                                    Code /
                       Workflows   Silverlight   Ajax


                                                        Office
          Timer Jobs
                                                        Clients


                                                                  !NET /
   Event
                                                                  Mobile/
  Receivers
                                                                  Tablet




 InPage
                                      SP                            WinRT /
                                   Solution                         Metro
BL Classes not
 SPContext Aware
     SPContext
Transport/Creation?
                       SPContext Aware
                      Infrastructure Layer
                             Classes




    Dependency
     injection
WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
Logging

            • Logging from the
              BL
            • ULS for SharePoint
  LOGGING
            • Different
              implementations
Caching, Persistence

                          • Caching in front-
                            end Web Server

                             – AppFabric for
   Caching, persistence        Windows Server
                             – NCache


                          • Persistence
                             – SPPersistedObject
Localization / Internationalization




                                         •   Chrome
                                         •   User Interface
WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER   •   Navigation
                                         •   Content
Architecting InPage Elements: MVP Model




WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
Unit Testing



                                         nUnit

                                         SharePoint DAL
                                         Infrastr. Layer
               Business Layer
                                              – Logging
                                              – Caching          SharePoint is no
                                              – Configuration   excuse for lack of
               VS Unit Testing           Presenter (MVP)           Unit Testing

WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
Problems, problems…

             • Everything is SharePoint App Pool

             •                     Deep impact on SharePoint Server

             • Deployment to SharePoint Web Front Server(s)

             •                     Policies?

             • Maintenance

             • Not possible with Office 365 (or other hosted services)


WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
SharePoint Enterprise Solutions
             Architectural considerations   Quality Attributes

             Impersonation                  Security

             Logging                        Performance

             Caching                        Concurrency

             Testing                        Localization / Internationalization

             Deployment                     Configuration

             Flexibility / Future Proof



WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
UMJESTO DEMOA

blog.sharedove.com/adisjugo
sharedove.codeplex.com
SHAREPOINT
SANDBOX
SOLUTIONS
SHAREPOINT
SANDBOX
SOLUTIONS
SandBox Solutions
             Architectural considerations   Quality Attributes

             Impersonation                  Security

             Logging                        Performance

             Caching                        Concurrency

             Testing                        Localization / Internationalization

             Deployment                     Configuration

             Flexibility / Future Proof



WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
SOLUTIONS
WHICH USE
SHAREPOINT
DATA
SharePoint on Premise + Application Server




                                           Business processes
               Your Data                   Solutions
                                           …
               Collaboration
                                           All custom
               Portals                     development
               …

WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
SharePoint Online (O365) + Windows Azure




                                         Worker Processes
               Your Data
                                         Azure Services
               Collaboration
                                         Web Sites
               Portals
               …

WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
No SPContext
aware Components
SOLUTIONS WITH SHAREPOINT DATA
             Architectural considerations   Quality Attributes

             Impersonation                  Security

             Logging                        Performance

             Caching                        Concurrency

             Testing                        Localization / Internationalization

             Deployment                     Configuration

             Flexibility / Future Proof



WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
Limitations

             • Limited access possibilities
             •      ASMX Services

             •      OData

             •      CSOM (Client SharePoint Object Model)

             • No advanced list-data management

             • No Event Receivers, Timer Jobs

             • Outside of SharePoint user interface

             • Suitable for integrating other solutions with SharePoint


WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
IT’S YOUR CHOICE
And Finally




WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
Resources

             • Asterix and Cleopatra
               http://www.amazon.com/s/ref=nb_sb_noss?url=search-
               alias%3Daps&field-
               keywords=asterix+and+cleopatra&x=0&y=0

             • MS P&P: SharePoint Guide
               http://spg.codeplex.com

             • MVP pattern in SharePoint InPage elements (WebParts, ASPX)
               http://msdn.microsoft.com/en-us/library/ee413740.aspx




WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER




                                         http://www.planb.ba
Pitanja




          @adisjugo
Are good SharePoint solutions only a myth?
Are good SharePoint solutions only a myth?

Weitere ähnliche Inhalte

Was ist angesagt?

Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...
Enkitec
 
Enterprise class apex
Enterprise class apexEnterprise class apex
Enterprise class apex
Enkitec
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
Spiffy
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Spiffy
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
Spiffy
 

Was ist angesagt? (20)

AppliFire Blue Print Design Guidelines
AppliFire Blue Print Design GuidelinesAppliFire Blue Print Design Guidelines
AppliFire Blue Print Design Guidelines
 
Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...
 
Enterprise class apex
Enterprise class apexEnterprise class apex
Enterprise class apex
 
Overview of Eclipse technologies
Overview of Eclipse technologiesOverview of Eclipse technologies
Overview of Eclipse technologies
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
 
Portal Integration with SAP BusinessObjects (SDK)
Portal Integration with SAP BusinessObjects (SDK)Portal Integration with SAP BusinessObjects (SDK)
Portal Integration with SAP BusinessObjects (SDK)
 
InduSoft Web Studio 8.0 + SP1 + Patch One Review
InduSoft Web Studio 8.0 + SP1 + Patch One ReviewInduSoft Web Studio 8.0 + SP1 + Patch One Review
InduSoft Web Studio 8.0 + SP1 + Patch One Review
 
Introduction To Portal Products
Introduction To Portal ProductsIntroduction To Portal Products
Introduction To Portal Products
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Actviti bpm framework 1.0
Actviti bpm framework 1.0Actviti bpm framework 1.0
Actviti bpm framework 1.0
 
2012 student track - vs2010
2012   student track - vs20102012   student track - vs2010
2012 student track - vs2010
 
Nintex Workflow 2007 Flyer
Nintex Workflow 2007 FlyerNintex Workflow 2007 Flyer
Nintex Workflow 2007 Flyer
 
How to build a manageable Connections environment
How to build a manageable Connections environmentHow to build a manageable Connections environment
How to build a manageable Connections environment
 
Killer Reporting with JIRA Dashboards - Atlassian Summit 2010 - Lightning Talks
Killer Reporting with JIRA Dashboards - Atlassian Summit 2010 - Lightning TalksKiller Reporting with JIRA Dashboards - Atlassian Summit 2010 - Lightning Talks
Killer Reporting with JIRA Dashboards - Atlassian Summit 2010 - Lightning Talks
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412
 
Grails At Linked
Grails At LinkedGrails At Linked
Grails At Linked
 
MySQL
MySQLMySQL
MySQL
 
InduSoft Web Studio 8.0 + Service Pack Two Overview
InduSoft Web Studio 8.0 + Service Pack Two OverviewInduSoft Web Studio 8.0 + Service Pack Two Overview
InduSoft Web Studio 8.0 + Service Pack Two Overview
 

Ähnlich wie Are good SharePoint solutions only a myth?

Designing Enterprise Mobile Applications: Critical Success Factors
Designing Enterprise Mobile Applications: Critical Success FactorsDesigning Enterprise Mobile Applications: Critical Success Factors
Designing Enterprise Mobile Applications: Critical Success Factors
Perficient, Inc.
 
Inaugural address manjusha - Indicthreads cloud computing conference 2011
Inaugural address manjusha -  Indicthreads cloud computing conference 2011Inaugural address manjusha -  Indicthreads cloud computing conference 2011
Inaugural address manjusha - Indicthreads cloud computing conference 2011
IndicThreads
 
In sync10 nadiabendjedou-10things-final
In sync10 nadiabendjedou-10things-finalIn sync10 nadiabendjedou-10things-final
In sync10 nadiabendjedou-10things-final
Bendjedou Nadia
 

Ähnlich wie Are good SharePoint solutions only a myth? (20)

Sap microsoft interoperability sitnl 08-12-2012
Sap microsoft interoperability sitnl 08-12-2012Sap microsoft interoperability sitnl 08-12-2012
Sap microsoft interoperability sitnl 08-12-2012
 
Infopulse presentation
Infopulse presentation Infopulse presentation
Infopulse presentation
 
Best Practices Europe 10 Steps To Successful Deployments
Best Practices Europe 10 Steps To Successful DeploymentsBest Practices Europe 10 Steps To Successful Deployments
Best Practices Europe 10 Steps To Successful Deployments
 
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
SharePoint in Clouds - Autoprovisioned apps with SharePoint 2013
 
Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013
 
Domain Driven Design Development Spring Portfolio
Domain Driven Design Development Spring PortfolioDomain Driven Design Development Spring Portfolio
Domain Driven Design Development Spring Portfolio
 
Segundo Semario de SharePoint en Mexico por Joel Oleson
Segundo Semario de SharePoint en Mexico por Joel OlesonSegundo Semario de SharePoint en Mexico por Joel Oleson
Segundo Semario de SharePoint en Mexico por Joel Oleson
 
Standard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data ManagementStandard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data Management
 
Aspirea sales presentation
Aspirea sales presentationAspirea sales presentation
Aspirea sales presentation
 
SAP NetWeaver Portal Portfolio (2012)
SAP NetWeaver Portal Portfolio (2012)  SAP NetWeaver Portal Portfolio (2012)
SAP NetWeaver Portal Portfolio (2012)
 
Designing Enterprise Mobile Applications: Critical Success Factors
Designing Enterprise Mobile Applications: Critical Success FactorsDesigning Enterprise Mobile Applications: Critical Success Factors
Designing Enterprise Mobile Applications: Critical Success Factors
 
Inaugural address manjusha - Indicthreads cloud computing conference 2011
Inaugural address manjusha -  Indicthreads cloud computing conference 2011Inaugural address manjusha -  Indicthreads cloud computing conference 2011
Inaugural address manjusha - Indicthreads cloud computing conference 2011
 
SiteOps
SiteOpsSiteOps
SiteOps
 
AvePoint - SharePoint App Lifecycle Mgmnt
AvePoint - SharePoint App Lifecycle MgmntAvePoint - SharePoint App Lifecycle Mgmnt
AvePoint - SharePoint App Lifecycle Mgmnt
 
Novidades natural e adabas
Novidades natural e adabasNovidades natural e adabas
Novidades natural e adabas
 
Java CAPS
Java CAPSJava CAPS
Java CAPS
 
Webinar The App Lifecycle Platform
Webinar The App Lifecycle PlatformWebinar The App Lifecycle Platform
Webinar The App Lifecycle Platform
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technology
 
In sync10 nadiabendjedou-10things-final
In sync10 nadiabendjedou-10things-finalIn sync10 nadiabendjedou-10things-final
In sync10 nadiabendjedou-10things-final
 
In sync10 nadiabendjedou-10things-final
In sync10 nadiabendjedou-10things-finalIn sync10 nadiabendjedou-10things-final
In sync10 nadiabendjedou-10things-final
 

Mehr von Adis Jugo

Developing Sharepoint 2013-powered mobile and device apps
Developing Sharepoint 2013-powered mobile and device apps Developing Sharepoint 2013-powered mobile and device apps
Developing Sharepoint 2013-powered mobile and device apps
Adis Jugo
 

Mehr von Adis Jugo (20)

SPS Leicester: Understanding permissions with Microsoft Teams
SPS Leicester: Understanding permissions with Microsoft TeamsSPS Leicester: Understanding permissions with Microsoft Teams
SPS Leicester: Understanding permissions with Microsoft Teams
 
WinDays 2014: It's not your father's SharePoint - DEV (Cloud-Only solution ar...
WinDays 2014: It's not your father's SharePoint - DEV (Cloud-Only solution ar...WinDays 2014: It's not your father's SharePoint - DEV (Cloud-Only solution ar...
WinDays 2014: It's not your father's SharePoint - DEV (Cloud-Only solution ar...
 
WinDays 2014: It's not your father's SharePoint - BIZ (Collaboration beyond c...
WinDays 2014: It's not your father's SharePoint - BIZ (Collaboration beyond c...WinDays 2014: It's not your father's SharePoint - BIZ (Collaboration beyond c...
WinDays 2014: It's not your father's SharePoint - BIZ (Collaboration beyond c...
 
SharePoint Conference Munich 2014: It's not your father's SharePoint - Biz Ed...
SharePoint Conference Munich 2014: It's not your father's SharePoint - Biz Ed...SharePoint Conference Munich 2014: It's not your father's SharePoint - Biz Ed...
SharePoint Conference Munich 2014: It's not your father's SharePoint - Biz Ed...
 
SharePoint Conference Munich 2014: Work Management Service
SharePoint Conference Munich 2014: Work Management ServiceSharePoint Conference Munich 2014: Work Management Service
SharePoint Conference Munich 2014: Work Management Service
 
SharePoint Conference Vienna 2014: Work Management Service
SharePoint Conference Vienna 2014: Work Management ServiceSharePoint Conference Vienna 2014: Work Management Service
SharePoint Conference Vienna 2014: Work Management Service
 
ShareConf 2014 Work Management Service
ShareConf 2014 Work Management ServiceShareConf 2014 Work Management Service
ShareConf 2014 Work Management Service
 
K2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architecture
K2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architectureK2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architecture
K2 for SharePoint 2013 Keynote: Cloud first, mobile first solution architecture
 
ESPC 2014: 5 Enterprise Social usecases
ESPC 2014: 5 Enterprise Social usecasesESPC 2014: 5 Enterprise Social usecases
ESPC 2014: 5 Enterprise Social usecases
 
ESPC 2014 Barcelona: It is not your Father's SharePoint - DEV
ESPC 2014 Barcelona: It is not your Father's SharePoint - DEVESPC 2014 Barcelona: It is not your Father's SharePoint - DEV
ESPC 2014 Barcelona: It is not your Father's SharePoint - DEV
 
Work Management Application in SharePoint 2013 - architecture and development
Work Management Application in SharePoint 2013 - architecture and developmentWork Management Application in SharePoint 2013 - architecture and development
Work Management Application in SharePoint 2013 - architecture and development
 
Developing Sharepoint 2013-powered mobile and device apps
Developing Sharepoint 2013-powered mobile and device apps Developing Sharepoint 2013-powered mobile and device apps
Developing Sharepoint 2013-powered mobile and device apps
 
Beyond Social – Tailor Sharepoint 2013 social features according to your need...
Beyond Social – Tailor Sharepoint 2013 social features according to your need...Beyond Social – Tailor Sharepoint 2013 social features according to your need...
Beyond Social – Tailor Sharepoint 2013 social features according to your need...
 
Sharepoint Online and Windows Azure together: Autohosted Apps
Sharepoint Online and Windows Azure together: Autohosted AppsSharepoint Online and Windows Azure together: Autohosted Apps
Sharepoint Online and Windows Azure together: Autohosted Apps
 
Developing SharePoint-powered mobile apps
Developing SharePoint-powered mobile appsDeveloping SharePoint-powered mobile apps
Developing SharePoint-powered mobile apps
 
Beyond Social – Tailor SharePoint 2013 Social features according to your need...
Beyond Social – Tailor SharePoint 2013 Social features according to your need...Beyond Social – Tailor SharePoint 2013 Social features according to your need...
Beyond Social – Tailor SharePoint 2013 Social features according to your need...
 
SharePoint in the cloud: Deep Azure apps for SharePoint 2013
SharePoint in the cloud: Deep Azure apps for SharePoint 2013SharePoint in the cloud: Deep Azure apps for SharePoint 2013
SharePoint in the cloud: Deep Azure apps for SharePoint 2013
 
Developing SharePoint-powered mobile apps
Developing SharePoint-powered mobile appsDeveloping SharePoint-powered mobile apps
Developing SharePoint-powered mobile apps
 
The Future of the Intranet: Road to Enterprise 2.0
The Future of the Intranet: Road to Enterprise 2.0The Future of the Intranet: Road to Enterprise 2.0
The Future of the Intranet: Road to Enterprise 2.0
 
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
Stronger than Chuck Norris: SharePoint in clouds, on earth, in subway and in ...
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Are good SharePoint solutions only a myth?

  • 1. Rovinj, 23. – 26. travnja 2012.
  • 2. Are good SharePoint solutions only a myth? ADIS JUGO MVP PlanB.
  • 6. Are good SharePoint solutions only a myth? ... the developer community is full with statements like "there are good developers, there are bad developers, and then there are SharePoint developers"; or "there is solid software architecture, and then there are SharePoint solutions"
  • 7. Perception of SharePoint Applications WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 9. Time and costs estimation WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 10. Architecting SharePoint solutions WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 11. What is wrong with this web part? Adis Jugo, PlanB.
  • 12. Types of SharePoint solutions • Enterprise SharePoint Solutions • SharePoint SandBox Solutions • Solutions that use SharePoint data WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 13. 4 questions for architects • How will the users be using the application? • How will the application be deployed into production and managed? • What are the quality attribute requirements for the application (security, performance, concurrency, localization, and configuration) • How can the application be designed to be flexible and maintainable over time? WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 14. Architecture Considerations Quality attributes – Security – Performance – Concurrency – Localization / Internationalization – Configuration • Considerations – … • Impersonation • Logging • Caching • Testing • Deployment • Flexibility / Manageability / FutureProof WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 16. A SharePoint Solution Managet Code / Workflows Silverlight Ajax Office Timer Jobs Clients !NET / Event Mobile/ Receivers Tablet InPage SP WinRT / Solution Metro
  • 17.
  • 18. BL Classes not SPContext Aware SPContext Transport/Creation? SPContext Aware Infrastructure Layer Classes Dependency injection
  • 20. Logging • Logging from the BL • ULS for SharePoint LOGGING • Different implementations
  • 21. Caching, Persistence • Caching in front- end Web Server – AppFabric for Caching, persistence Windows Server – NCache • Persistence – SPPersistedObject
  • 22. Localization / Internationalization • Chrome • User Interface WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER • Navigation • Content
  • 23. Architecting InPage Elements: MVP Model WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 24. Unit Testing nUnit SharePoint DAL Infrastr. Layer Business Layer – Logging – Caching SharePoint is no – Configuration excuse for lack of VS Unit Testing Presenter (MVP) Unit Testing WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 25. Problems, problems… • Everything is SharePoint App Pool • Deep impact on SharePoint Server • Deployment to SharePoint Web Front Server(s) • Policies? • Maintenance • Not possible with Office 365 (or other hosted services) WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 26. SharePoint Enterprise Solutions Architectural considerations Quality Attributes Impersonation Security Logging Performance Caching Concurrency Testing Localization / Internationalization Deployment Configuration Flexibility / Future Proof WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 30. SandBox Solutions Architectural considerations Quality Attributes Impersonation Security Logging Performance Caching Concurrency Testing Localization / Internationalization Deployment Configuration Flexibility / Future Proof WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 32. SharePoint on Premise + Application Server Business processes Your Data Solutions … Collaboration All custom Portals development … WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 33. SharePoint Online (O365) + Windows Azure Worker Processes Your Data Azure Services Collaboration Web Sites Portals … WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 35. SOLUTIONS WITH SHAREPOINT DATA Architectural considerations Quality Attributes Impersonation Security Logging Performance Caching Concurrency Testing Localization / Internationalization Deployment Configuration Flexibility / Future Proof WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 36. Limitations • Limited access possibilities • ASMX Services • OData • CSOM (Client SharePoint Object Model) • No advanced list-data management • No Event Receivers, Timer Jobs • Outside of SharePoint user interface • Suitable for integrating other solutions with SharePoint WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 38. And Finally WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER
  • 39. Resources • Asterix and Cleopatra http://www.amazon.com/s/ref=nb_sb_noss?url=search- alias%3Daps&field- keywords=asterix+and+cleopatra&x=0&y=0 • MS P&P: SharePoint Guide http://spg.codeplex.com • MVP pattern in SharePoint InPage elements (WebParts, ASPX) http://msdn.microsoft.com/en-us/library/ee413740.aspx WINDAYS12 TECHNOLOGY OBRAZOVNI PARTNER http://www.planb.ba
  • 40. Pitanja @adisjugo