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 !

Thursday, October 27, 2011

Microsoft SharePoint and Agility

SharePoint is a becoming natural choice for enabling key capabilities of an Enterprise such as Collaboration, Social Computing, BI, Web Content Management, Document Management, Portals / web applications targeting both intranet & internet users etc. . Perception on SharePoint is gradually changing from a simple COTS product to very flexible platform. Especially the custom development & integration capabilities of SharePoint platform is a door opener for lots of opportunities. In fact, in some of the Enterprises, SharePoint is becoming the default development platform.

Recent research report from Forrester highlights that SharePoint is gaining very wide adoption in large organizations. Given that the capabilities of SharePoint can address most of the needs of an Enterprise, Enterprises which are planning to leverage the full potential of the SharePoint platform may end up in an IT portfolio where major portion will be solutions based on SharePoint. Hence, Enterprise Agility of those Enterprises will have more dependency on SharePoint.

Enterprise Agility of an Enterprise depends on its IT Portfolio. If the IT portfolio is based on the home grown solutions and COTS products which do not support agility, then Enterprise agility will be affected. Investments in COTS products can be maximized only if those products are customizable / supports wider custom development. Based on how “Testable” the “Customizable” parts of the COTS products of an IT portfolio, Enterprise will have impact on Maintainability, TCO and Agility.

True agility is considered to be achieved only when a change in business / functional requirement is achievable with minimal time – when you have a piece of code developed and if an automated unit testing capability can be leveraged to test that piece of code, then your overall time for development , testing & deployment will decrease.

Testability & loose coupling are 2 key paths to Agility. In SharePoint, when it comes to custom development, Web Parts are predominantly used to address business / functional needs. These Web Parts are “Testable” when they are built based on MVP pattern. These web parts can leverage Automated Unit Testing capabilities. These MVP based web parts are de-coupled from the environment, data source & UI. Hence they are unit testable through Mock objects

A combination of Microsoft’s PEX & Moles framework & VSTS 2010 can be used for performing automated unit tests on MVP based (Testable) web parts.

Loose coupling can be achieved through Service Locator pattern provided by SharePoint guidance from Microsoft Patterns & Practices – compass for the best practices adoption in SharePoint based development. When there is a change is the actual service provider, we can deploy that as a separate assembly and change can be enabled in the main application without re-compilation

So, the conclusion here is - Once a SharePoint based development is planned with these 2 things in mind – Testable & Loose coupling through MVP pattern based web parts to leverage Automated Unit Testing framework and Service Locator pattern respectively, time required to respond to changing business requirements will decrease and hence will have a positive impact on Enterprise Agility !