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?

AppliFire Blue Print Design Guidelines
AppliFire Blue Print Design GuidelinesAppliFire Blue Print Design Guidelines
AppliFire Blue Print Design GuidelinesAppliFire Platform
 
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 apexEnkitec
 
Overview of Eclipse technologies
Overview of Eclipse technologiesOverview of Eclipse technologies
Overview of Eclipse technologiesPT.JUG
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: TestingSpiffy
 
Portal Integration with SAP BusinessObjects (SDK)
Portal Integration with SAP BusinessObjects (SDK)Portal Integration with SAP BusinessObjects (SDK)
Portal Integration with SAP BusinessObjects (SDK)DMIMarketing
 
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 ReviewAVEVA
 
Introduction To Portal Products
Introduction To Portal ProductsIntroduction To Portal Products
Introduction To Portal ProductsInformatica
 
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
 
2012 student track - vs2010
2012   student track - vs20102012   student track - vs2010
2012 student track - vs2010Tim Mahy
 
Nintex Workflow 2007 Flyer
Nintex Workflow 2007 FlyerNintex Workflow 2007 Flyer
Nintex Workflow 2007 Flyereden_stafford
 
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 environmentLetsConnect
 
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 TalksAtlassian
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentSpiffy
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412FirmansyahIrma1
 
Grails At Linked
Grails At LinkedGrails At Linked
Grails At LinkedLinkedIn
 
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 OverviewAVEVA
 

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?

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-2012Twan van den Broek
 
Infopulse presentation
Infopulse presentation Infopulse presentation
Infopulse presentation HI-TECH_Org_Ua
 
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 DeploymentsJoel Oleson
 
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 2013Adis Jugo
 
Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Enterprise apps in SharePoint 2013
Enterprise apps in SharePoint 2013 Adis Jugo
 
Domain Driven Design Development Spring Portfolio
Domain Driven Design Development Spring PortfolioDomain Driven Design Development Spring Portfolio
Domain Driven Design Development Spring PortfolioSrini Penchikala
 
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 OlesonJoel 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 ManagementInside Analysis
 
Aspirea sales presentation
Aspirea sales presentationAspirea sales presentation
Aspirea sales presentationMayank Singh
 
SAP NetWeaver Portal Portfolio (2012)
SAP NetWeaver Portal Portfolio (2012)  SAP NetWeaver Portal Portfolio (2012)
SAP NetWeaver Portal Portfolio (2012) SAP Portal
 
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 FactorsPerficient, 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 2011IndicThreads
 
AvePoint - SharePoint App Lifecycle Mgmnt
AvePoint - SharePoint App Lifecycle MgmntAvePoint - SharePoint App Lifecycle Mgmnt
AvePoint - SharePoint App Lifecycle MgmntMary Leigh Mackie
 
Novidades natural e adabas
Novidades natural e adabasNovidades natural e adabas
Novidades natural e adabasSoftware AG
 
Webinar The App Lifecycle Platform
Webinar The App Lifecycle PlatformWebinar The App Lifecycle Platform
Webinar The App Lifecycle PlatformService2Media
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technologyEldos Kuriakose
 
In sync10 nadiabendjedou-10things-final
In sync10 nadiabendjedou-10things-finalIn sync10 nadiabendjedou-10things-final
In sync10 nadiabendjedou-10things-finalBendjedou Nadia
 
In sync10 nadiabendjedou-10things-final
In sync10 nadiabendjedou-10things-finalIn sync10 nadiabendjedou-10things-final
In sync10 nadiabendjedou-10things-finalInSync Conference
 

Ä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

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 TeamsAdis Jugo
 
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...Adis Jugo
 
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...Adis Jugo
 
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...Adis Jugo
 
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 ServiceAdis Jugo
 
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 ServiceAdis Jugo
 
ShareConf 2014 Work Management Service
ShareConf 2014 Work Management ServiceShareConf 2014 Work Management Service
ShareConf 2014 Work Management ServiceAdis Jugo
 
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 architectureAdis Jugo
 
ESPC 2014: 5 Enterprise Social usecases
ESPC 2014: 5 Enterprise Social usecasesESPC 2014: 5 Enterprise Social usecases
ESPC 2014: 5 Enterprise Social usecasesAdis Jugo
 
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 - DEVAdis Jugo
 
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 developmentAdis 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
 
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...Adis Jugo
 
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 AppsAdis Jugo
 
Developing SharePoint-powered mobile apps
Developing SharePoint-powered mobile appsDeveloping SharePoint-powered mobile apps
Developing SharePoint-powered mobile appsAdis Jugo
 
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...Adis Jugo
 
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 2013Adis Jugo
 
Developing SharePoint-powered mobile apps
Developing SharePoint-powered mobile appsDeveloping SharePoint-powered mobile apps
Developing SharePoint-powered mobile appsAdis Jugo
 
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.0Adis Jugo
 
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 ...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

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 Nanonetsnaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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...Miguel Araújo
 
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...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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 AutomationSafe Software
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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 MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Kürzlich hochgeladen (20)

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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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...
 
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...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

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