Monday, August 11, 2014

SharePoint 2013 Architectural Trade-Offs

When planning for deploying SharePoint 2013 based Enterprise workloads, it should be done with the consideration / awareness of impact of various architectural decisions what we make.
As SharePoint 2013 is a flexible platform providing lots of options in terms of configuration of the existing OOB features and development of custom development solutions to address specific business functional needs, care should be taken when making a particular decision and its impact on overall solution.
Even though SharePoint is a matured product, the effectiveness of various business capabilities such as Enterprise Social, Enterprise Search, BI, Document Management, Web Content Management, and Enterprise Content Management that will be delivered based on it, in terms of addressing the business requirements depends on architecture planning.
Effectiveness here means performance, security, up-time and other architectural qualities like Scalability, Reliability etc.

Wednesday, September 4, 2013

Enterprise Search: Factors to be considered

Social and Enterprise Search capabilities are becoming very important for the Enterprises.

While Enterprise Social capability enables employees across different groups to collaborate and share knowledge, Enterprise Search capability enables employees to search digital content & data spread across different isolated systems and applications

Success of an Enterprise Search capability not only depend on the technology /platform that is leveraged but also on other key factors such as:

  1. Content Sources

Analysis of the sources from which content will be searched and made available for the end user consumption. If the source systems are not analyzed properly in terms of content volume, Meta data of the content, then there will be miss match between what is expected by the end user and what the Enterprise Search capability shows as search results. If the content in the source systems are not marked with proper metadata or if the metadata in the source systems are not understood properly leading to wrong mapping, then it will result in irrelevant search results.


  1. Security

Access restrictions on the content in the various sources; every source will have its own access restrictions on its content / data like which group of users will have access to view , update & delete. It is important that when these content / data is made available as part of search results, same access (view) restrictions are to be carried out ; Mechanisms employed for achieving access restriction will vary from one content source to another and they have to be understood and accordingly search capability is to be planned


  1. Scheduling of Search Crawls


Content in different content sources will get updated in different time intervals and there will be also variations in update frequency. This has to be taken into consideration when finalizing schedules when various content sources will be crawled by the search capability. Improper scheduling of crawls will result in old / irrelevant data surfacing in the search result.


  1. Personas

It is important to understand the different personas of an enterprise who will use the search capability and their intent of search. For example, search results that is expected by an executive from the finance department of an enterprise, for a given query word will differ from that is expected by an executive from the sales department.

  1. End user awareness


Success of an Enterprise Search capability also depends on how end user’s expectation are met. Every user is already exposed to the internet search capabilities such as Bing, Google etc. and their expectation on Enterprise Search capability will be on similar lines. But dynamics of Enterprise Search capability differs from internet search capabilities in terms security, content relevancy based on user persona, freshness etc. and enterprise end users are to be educated accordingly.

Monday, June 3, 2013

Heterogeneous Cloud Integration


Heterogeneous integration is common scenario in the Enterprises where their IT portfolio is based on heterogeneous platforms. Various solution approaches such as message broker, messaging middleware, SOA – service based integration were employed to address heterogeneous integration challenges.

 

These solution approaches were good when the integration happens on premise, with in the data centers of an Enterprise. Problem here is non-availability of “elasticity”.

 

With the Enterprises started leveraging cloud platforms extensively for various solution aspects such as elastic computing, storage, it opens new capabilities that can be leveraged for heterogeneous integration. Also, similar to existing on premise scenario, Enterprises are also leveraging multiple cloud platforms to address their business needs. This scenario will pose same integration challenges as those that were faced within on premise datacenters

 

Within datacenters / on premise, integration products were expected to comply with WS-* standards to avoid interoperable issues in heterogeneous integrations.

 

AMQP [Advanced Message Queuing Protocol] is a new standard protocol approved by OASIS for messaging solutions. This helps in building heterogeneous integration solutions in the context of (Heterogeneous) cloud. It can be leveraged for complete heterogeneous cloud based integration solutions & hybrid (Cloud + Datacenter – On Premise)

 

Windows Azure provides a capability “Service Bus” for enabling message exchange based integrations. With the support for AMQP 1.0 and availability of APIs in different platforms (Java / .Net), applications on different on premise / cloud platforms can leverage message exchanges based integration through Windows Azure Service Bus using AMQP 1.0.

 

This can help Enterprises to realize their BYOD plans based on devices from various platforms. Enterprise Apps can always leverage queuing & publish/subscribe brokered messaging features of Azure Service Bus as a middleware broker while the devices act as subscribers.

Saturday, February 2, 2013

Power Your Word with SharePoint !


Enterprises invested in both Office 2013 and SharePoint 2013 can derive more business benefits from their investments. Availability of the new app development paradigm – Apps for Office & Apps for SharePoint opens doors for more business innovations & possibilities.

These new app models allows developers to leverage their existing web development skills such as HTML 5, JavaScript / jQuery etc.

Microsoft Word provides automation capability when it comes to checking for grammatical errors. Imagine, if the same can be extended for validating a documents against regulatory compliance – how beneficial it will be for those organizations like insurance companies where day in & day out they are involved in lots of documentations and underwritings ..more ..

Tuesday, November 6, 2012

Enterprise Storage optimization


For any Enterprise, even in the age of social computing, Email still remains as the primary medium of information sharing. It is source of information on current state of Business, communications with partners, customers etc.  It is also leveraged for sharing non-business related information.

Depending on the no. of employees, their daily activities, business transactions, the no.  of emails that are generated by them, storage requirements will grow. That too, if those emails are carrying business critical, heavy weight documents, storage requirements will still grow. Other factors that will impact storage requirements include no. of persons with whom a document is shared and no. of subsequent versions of that document before its final version is getting frozen.

Even if the Enterprises have governance mechanisms, IT policies ensuring the restrictive, optimized usage of emails, some of the business critical factors still demands increase in the per employee email storage quota and hence impacts storage requirements. Imagine a scenario where an Enterprise has 10,000 employees. Assume every employee generates 1 email per day with 1 MB average size of document. Total size of the content generated will be 10 GB / day.

Adding to these, imagine every employee shares his email with on an average with 10 other no. of employees. This will result in generation of the document copies, sizing 100 GB approximately.

Now you can visualize the impact of the Email system on the storage requirements.

Significant increase in the storage requirements will also impact the back office operational routines such as back-up / restore and it will also make things complex in DR planning for business continuity.

One solution which can be considered to tackle this problem is capability to minimize the no. of document copies that are generated & stored.

Imagine only these employees generate 1 MB of the document and the same copy will be shared with other employees. Based on our above mentioned scenario, storage requirement will get reduced by 100 GB

With the availability of Office 2013 and SharePoint 2013 from Microsoft, this capability is available now!

Site Mailbox – it leverages the combined power of Email storage capability of Exchange 2013 & Document storage capability of SharePoint 2013.

Instead of sending document as attachment in every email, he can save it in the Site mailbox. So that only one copy will exist; for the end users, they can still have the same experience as if they are accessing the document from the Email attachment.

Site mailboxes can be accessed by the users from the Outlook in a seamless manner, without compromising the native “Outlook” experience

In addition to storage optimization, Site Mailbox provides more benefits to an Enterprise …really more  !!….

Sunday, June 17, 2012

Flexibility through product customization - How Secured it is ?

When providing solutions based on the multiple products, the success of the solution depends on what level of OOB features of those products helps in addressing the business / functional needs and what level of flexibility those products offers in terms of customization.

Also, how those products help in addressing business needs is very important in terms of time-to-market through:

  • Capabilities for seamless integration with federated business partners through adapters (like what Microsoft BizTalk, & StreamInsight  have rich set of adapters minimizing the development time),
  • Partner ecosystem with solutions  (like what partners have solutions based  on SharePoint in addressing various business requirements such as document storage, DRM / IRM, BI etc)

 
In addition to above mentioned factors, success depends on how the products allow developer community in extending its capabilities to address complex techno-business requirements.

 
While allowing the developer community for customization, it is also very important how a product provides capabilities for the secured execution of those custom code blocks – at the same time, without affecting the performance of the application and without allowing the code blocks to block resources – CPU, RAM, Threads etc. – especially in the scenarios of “careless “/ malicious code blocks, bringing down the entire application execution environment.

 
SharePoint is one such product that allows developer community to address complex techno-business requirements and other needs of an Enterprise through extensive customization and also ensures reliability of the application through “Sandbox” – secured code execution environment.

 
In addition to secured code execution capability, for the developer community, it is a must for the availability of the sophisticated tools for carrying out post code engineering activities such as performance tuning, code profiling etc.  Microsoft development platform provides tools for carrying such activities on SharePoint customization code blocks that are marked for Sandbox environment

Wednesday, January 25, 2012


Service Modeling Realization

When we enable a platform / a set of capabilities for consumption through the enablement of custom development, some of the points to be considered for wider reach .

Wider reach means to provide flexibility such as facilitating development on heterogeneous platform through supporting interoperability, various communication protocols and data encoding formats.

  • Data encoding format – XML, JSON
  • Protocol – Http , Tcp-ip
  • Type of communication - Synchronous / Asynchronous communication
  • Consumption  type – Proxy objects, RESTful communication

In addition to this, other key infrastructure & administration related factors to be considered are:

  • Reliability – Data submitted is not lost. The infrastructure behind the service model should be reliable without losing any submitted messages that is submitted

  • Security  - Integration with the consumer’s security infrastructure

  • Performance – Of course, first & fire most requirement of any exposed services and will be governed by SLAs

  • Service Metering – very important especially in the “pay per use” model

  • Centralized Dashboard – for the consumers to have insight into logs & exceptions


Frist point in consideration in realizing a service model is to select a platform that has the potential to offer various required capabilities. For example, Windows Communication Foundation from Microsoft provides lots of options to provide flexibility such as :

  • Encoding – Plain text for interoperability, Binary to optimize performance, MTOM for large payloads
  • Channels – one way, Duplex , Request-Response, Streaming
  • WS-*
      • WS-Addressing – extra additions to SOAP headers which makes SOAP free from underlying transport protocol
      • WS-Security,WS-Trust,WS-SecureConversation
      • WS-ReliableMessaging
      • WS-Coordination , WS-AtomicTransaction
      • WS-Policy (for more dynamic features of a service), WS-Metadataexchange

So, for a successful realization of a Service Model, choosing a capable platform is very much important !