Tuesday, August 7, 2012

Establishing Mobile CoE

I. Statement of Purpose

The intent of this post is to documents a few thoughts and provide a prescriptive approach and consideration towards establishing a Mobile CoE. This document is also to serve as a Body of Knowledge (BoK) that includes objectives, tasks and various other business and technology related topics in context of Mobile design. This document is just a draft on guidelines. The final charter of any CoE is task and responsibility of the core members of CoE.

II. Intent of a CoE:

Center of Excellence (CoE) is essentially a team of people that promote collaboration and using best practices around a specific focus area to drive business results. The CoE is a team of like-minded people from various organizational backgrounds with skill and organizational execution authority to focus on mobile related projects, in following ways:

1. Support: For their area of focus, CoE’s should offer support to the business lines and IT. This may be through consensus building and providing subject matter expertise.

2. Guidance: establishing Standards, methodologies, tools and knowledge repositories as a guideline to the support element.

3. Shared Learning: Through expertise, and organizational knowledge, team building and formalized roles are all ways to encourage shared learning and execution.

4. Measurements: CoEs should be able to demonstrate they are delivering the valued results to the business. The value can be in terms of providing support, expertise and therefore risk mitigation to Mobile related projects.

5. Governance: Allocating limited resources (money, people, etc.) across all their possible use is an important function of CoEs. COE should ensure organizations invest in the most valuable projects and create economies of scale for their service offering – Governance through support.

III. Understanding Mobile Platform Imperatives

Why is Mobile Important?

§ Over last year alone 3000% of WW mobile traffic ballooned. – Includes Voice and data

§ This space is expected to grow 40X over next 5 years

§ 11% of the world owns a tablet ( now we have 89% of 6+ billion and growing)

§ 90% of the world has access to the mobile networks ( well this amazed me as 90% of world does not have access to clean water and food, but has access to mobile network)

§ 2/3 of us get most of our news on mobile devices

§ 76% take pictures and video on mobile devices

§ in past 2 years mobile ready sites have grown from 150,000 to 3 million

§ 11 billion apps in 2010

§ On commerce front – this year $6.2 billion purchase were made from Mobil device --- compare that to $54.2 billion black Friday sales

§ If mobile users would be nation, it would be largest nation….. And I could go on

What are the Business drivers and technical considerations?

§ New business models and paradigms

§ Social network! Obviously?

Everyone wants to be on Facebook/LinkedIn etc

Every solution is compared to scalability and availability like social networks

Capitalize on ‘perceived’ new markets on social network.

§ Emerging Channels of commerce

New breed of personal devices

Speed of commerce

Low tolerance for ‘slow’ experience

New lines of currency – Zynga, SMS for money transfer?

§ Proliferation of ‘smart’ phones (AND Data!)

Do everything but make phone calls (?)

Exponential growth of these phones ( 35% of US population as an example)

128 million iPhones (about that many other phones)

Emerging markets ( India, China, Brazil, Russia etc)

§ Globalization!!

Single market for everything

Everything is linked

§ Brand/Image Exposure – How U interact with my business.

IV. Mobile Design Points and middleware landscape

Enterprise Design Points:

§ Deliberate and Intentional engagement

§ Exposing back end services and data

§ Data transfer and data growth considerations

§ Bandwidth and TCP Socket chatter

§ MEAP or MCAP?

§ Enterprise Integration

§ Security – enterprise and endpoint security

§ Device and Platform support

§ Legal responsibilities – Application store, client data and resulting exposure

Technical Design Points:

§ 1.Enterprise application integration (tools and libraries

§ 2.Device integration and peripheral support

§ 3. Application client runtime

§ 4. Device/OS platform support

§ 5. Packaged mobile

§ 6. Hosting

§ 7. Architectural flexibility

(Source: Gartner Research Note G00211688)

V. What are these landscape changes driving?

Elasticity

  • Rapid provisioning
  • Configuration Automation
  • Virtualization – HW (e.g. VMware/PowerVM) and Middleware (e.g. WVE)

Scalability

  • eXtreme Caching – improving speed and scalability
  • Data/cache partitioning and co-location

Data awareness and real time processing

  • Sense and response or even driven architectures (Fraud/Marketing/BI)
  • Reduced processing – or off-loading to an efficient tier
  • Moving data closest to application (relevant logic)

VI. Deconstructing the Mobile Platform

Most MEAP technology providers claim the following capabilities:

· SMS apps

· App Store – Client side application

· Middleware Server – Server side application

· Multi-device/Multi-Platform application support

· Sync Server

· Mobile Device Management (MDM)

· Data Mapping

· Push notification service

· Application Management

· Application Versioning

· Code generation

· Application template

· Industry Specific Application

Some Notable Features from some of the mobile platform include (But not limited to)

· Each app built runs on all major mobile operating systems and device types

· Real-time integration with CRM, BI, data warehouse, CMS, and other enterprise systems

· Built-in reporting and analytics capabilities

· Local data storage, secured for offline access to documents and information

· GPS, camera, mapping, rotation, and other native device features

· Code-free IDE enables rapid development and deployment of native and HTML5 hybrid apps

· Changes and updates managed in real time with no code generation or redeployment

· Enterprise-grade on-device and in-flight security protections

VII. MEAP Vendor/Platform Considerations:

1. Coding Skills requirement: Are native coding skills required to complete projects or make changes? Some MEAP vendors surprisingly do not complete the process of creating the mobile app for the target device. Manual programming and tweaking is required.

2. Native integration: Will we need to use the native debugger to test our applications? If the MEAP forces you to debug their deployment capabilities on a target device, then you that mean you are likely to be required to write code to fix any problems you find.

3. Multiplatform Support: Can my MEAP platform also create desktop, client server and web applications? Some MEAPs are mobile only and have little or no capabilities for supporting other types of applications. This lack of support means duplicate coding for those environments.

4. Control on Single Platform: Does the MEAP platform allow me to control the look and feel of the application so that I can develop with a native look and feel for each device? Will BlackBerry apps look like other BlackBerry apps? Will an iPhone app look and feel like an iPhone app? Etc.

5. Track record- back End Integration: Does the MEAP platform vendor have a solid track record of back-end integration? Do they have a complete set of integration tools to allow you to integrate enterprise IT systems, data and processes with your MEAP platform? Integration to backend systems is a crucial component of providing B2E, B2B, and B2C applications. Without a straightforward solution for integration, you may end up spending months of unnecessary development time trying to integrate your mobile apps to existing enterprise systems.

6. Multi-Lingual Support: Is the solution multilingual and can the vendor providing multilingual support? If you need a global solution, some vendors have limited reach in North America but not beyond.

7. Vendor Vision and Stability: How long have you been in business? Too many vendors are in startup mode with no guarantee that they will stick around.

8. Vendor Financial Stability: Will you provide financial statements showing your revenues, profitability, and cash on hand and debt position? If a vendor is unwilling to provide financial statements, then you are at significant risk that you may be dealing with a vendor that is on the brink of imminent financial failure.

9. Vendor Corporate Commitment: Does the MEAP vendor have a parent company whose objectives are different from those of the independent software vendor that it acquired? If the parent company acquired the MEAP platform to serve the needs of its larger client base, will that be at cross-purposes to your needs?

10. Enterprise Strategy and Integration: Does the MEAP vendor have a coherent strategy for enterprise systems, mobile apps and the cloud? Can the vendor ensure that all of these solutions can be based on the same service-oriented architecture (SOA)? Is the platform capable of compositing existing application logic from Java, .NET, SAP etc? And other environments? A good MEAP platform will be capable of leveraging all that you have today and have a coherent strategy for deploying solutions in all of the environments that you need to be in tomorrow. A vendor that can future-proof your efforts will ultimately be the smart choice for development of mobile apps.

Mobile is Global and Complex

Folks

This post is long overdue and delayed. Part of this delay is change and part of it is new learning. This week I will try and share with you all some of my observation on changes and viewpoints of clients and impact that pertains to our products sets and general area --- Application Middleware!

Let me Start with the hottest topic – Mobility

Mobility – It is global and complex – I was fortunate to travel to India and shadow a mobile executive and learn about what Mobility means in Asian context. As a part of learning I met a few clients and went to rural India as a part of market “test”. The experience was amazing, it is remarkable to see the commerce ecosystem that is dominated by SMS bases application/messages, and this is reaching remote parts of the country. The people see it as way to avoid long lines and yet obtain services by paying an intermediary for utilities, internet services, prepaid services etc. The many rural areas – which is about 80% of India, this mechanism is still effective where power or even hi-end infrastructure is still developing.

Also besides the technology there are other socio-Economic-political factors that play in positioning the solution we sell. For instance issues like network bandwidth, local regulations, and availability of frequencies to offer services which has a broader impact on solutions we propose. Again I met a few governmental entities that govern the network infrastructure in India and took time to have a deeper understanding of why the landscape of mobile application differs in wide usage. For instance the Data plans due to network availability is restricted, cost of smart phones is often ONLY afforded by the working professionals or elites, inexpensive feature phones becomes the norm due to cost, size, power availability and general acceptance by the population.

Inference: The Governments, the local conglomerates like Bharati-Airtel, BSNL etc include the discussion around the call volume and SMS volume in network planning. I imagine as data plans and network availability ramps up, these discussions will change in terms of how the service providers design their networks and that will lead to new ecosystem of service delivery.

thoughts?

:)

Nitin

Monday, April 16, 2012

Understanding Mobile Platform Imperatives

This week I will try and discuss high level technical and business consideration for an enterprise mobile platform. please feel free to comment.

Why is Mobile Impportant:

  • Over last year alone 3000% of WW mobile traffic ballooned. – Includes Voice and data
  • This space is expected to grow 40X over next 5 years
  • 11% of the world owns a tablet ( now we have 89% of 6+ billion and growing)
  • 90% of the world has access to the mobile networks ( well this amazed me as 90% of world does not have access to clean water and food, but has access to mobile network)
  • 2/3 of us get most of our news on mobile devices
  • 76% take pictures and video on mobile devices
  • in past 2 years mobile ready sites have grown from 150,000 to 3 million
  • 11 billion apps in 2010
  • On commerce front – this year $6.2 billion purchase were made from Mobil device --- compare that to $54.2 billion black Friday sales
  • If mobile users would be nation, it would be largest nation….. And I could go on

What are the Business drivers and technical considerations:

  • New business models and paradigms
  • Social network! Obviously?

Everyone wants to be on Facebook/linkedin etc

Every solution is compared to scalability and availability like social networks

Capitalize on ‘perceived’ new markets on social network.

  • Emerging Channels of commerce

New breed of personal devices

Speed of commerce

Low tolerance for ‘slow’ experience

New lines of currency – Zynga, SMS for money transfer?

  • Proliferation of ‘smart’ phones (AND Data!)

Do everything but make phone calls (?)

Exponential growth of these phones ( 35% of US population as an example)

128 million iPhones (about that many other phones)

Emerging markets ( India, China, Brazil, Russia etc)

  • Globalization!!

Single market for everything

Everything is linked

  • Brand/Image Exposure – How U interact with my business.

Solution : Cloud Computing? MEAP? MCAP? Next Buzz Big thing?

Mobile Design Points and middleware landscape

Enterprise Design Points:

  • Deliberate and Intentional engagement
  • Exposing back end services and data
  • Data transfer and data growth considerations
  • Bandwidth and TCP Socket chatter
  • MEAP or MCAP?
  • Enterprise Integration
  • Security – enterprise and endpoint security
  • Device and Platform support
  • Legal responsibilities – Application store, client data and resulting exposure

Technical Design Points:

  • 1.Enterprise application integration (tools and libraries
  • 2.Device integration and peripheral support
  • 3. Application client runtime
  • 4. Device/OS platform support
  • 5. Packaged mobile
  • 6. Hosting
  • 7. Architectural flexibility

(Source: Gartner Research Note G00211688)

What are these landscape changes driving?

Elasticity

  • Rapid provisioning
  • Configuration Automation
  • Virtualization – HW (e.g. VMware/PowerVM) and Middleware (e.g. WVE)

Scalability

  • eXtreme Caching – improving speed and scalability
  • Data/cache partitioning and co-location

Data awareness and real time processing

  • Sense and response or even driven architectures (Fraud/Marketing/BI)
  • Reduced processing – or off loading to a efficient tier
  • Moving data closest to application (relevant logic)

Core message of how Mobile will impact middleware:

Achieve Elasticity and Scalability – Application Infrastructure (WebSphere /Other enabled middleware)

Data awareness and real time processing – require new architectures and design.


Have a great Week!

:)

Nitin

Sunday, April 15, 2012

.Ice Breaker on Enterprise Mobile Strategy..Industry and Think Tank Jargon

This week I felt compelled to send the following post, as I think like me many of you are getting engaged with your clients in discussing Mobile. I also recognize that there is a lot of confusion, hype around technology landscape. So Below is an attempt to de-construct our starting conversation - ice breaker of sorts. While this is by no means an exhaustive list, I think this is a good starting point, as we continue to add more.

Conversation Starters Around Mobile Strategy - MEAP and how we ft in:

At a broader level guiding principles of mobile Strategy is broken into 4 Components:

1. Access - B2C/B2E etc
2. Application development practice -- porting vs. new development project.
3. What are Mobile device management requirement - App store/device wipe/push fix-notification etc.
4. Security - Application (Work light) vs. Plugging into enterprise security infrastructure (TEM)

Some Questions that drive the solution design process are:
1. What is the overall Enterprise Mobile strategy? --- Is the access for employees ONLY or possibly visitors (e.g. visiting physicians/heath care professionals)? -- Access & Security
2. Type of application Framework? --- New app vs. porting, this includes the new acquisitions and moving all mobile apps to a common framework.
3. Type of application deployment ? --- again includes the new acquisitions and moving all mobile apps to a common deployment framework.

Additional Tactical Considerations:

1.Enterprise application integration (tools and libraries
2.Device integration and peripheral support
3. Application client runtime
4. Device/OS platform support
5. Packaged mobile
6. Hosting
7. Architectural flexibility
(Source: Gartner Research Note G00211688)

Industry Think Tank Jargon:

Industry in General categorizes the Mobile Platform into 2 Broad categories:

1. Mobile enterprise application platforms (MEAPs) and
2. Mobile consumer application platforms (MCAPs).

The MEAP segment serves application developer organizations and independent
software vendors (ISVs) that are writing applications targeting employees or associates, typically on a scale of a few dozen to a few thousand users, whereas the MCAP segment serves application developers who target consumers, usually on a scale of several thousand to millions of users.
With the massive consumerization of IT (driven, to a large degree, by innovations revolving around smartphones) and the widespread enterprise adoption of all types of mobile devices (including tablets), mobile application development has become one of the hottest topics in IT. MEAPs allow enterprise developers to create mobile applications for employees that are suitable to run on smartphones, tablets, notebooks or ruggedized hand-helds. MEAPs typically offer capabilities in user interface (UI) design and build, application integration, debugging, deployment, and application delivery and maintenance.
(Source: Gartner Research Note G00211688)

more in this... soon.
have a great weekend.
:)
Nitin

Friday, March 2, 2012

Understanding No-SQL and why is it important for middleware folks to know it!

Understanding No-SQL and why is it important for middleware folks to know it!

Team, this week’s post in my humble opinion is rather weird, I say this because in context of Application Infrastructure or many of the folks on this community who are middleware folks we see ourselves discussing Data!! But I am compelled to write this because this is becoming relevant – even more so when we are constantly being challenged with new architecture and design and middleware and “data centric middleware” are taking centre stage.

With Mobile/Social networks, there has been exponential growth in data --- this not new and we have now known this for several years. The challenge that we face now is how and what to do with this exponential growth? This past decade we have advised our clients to bring data closer to application for performance and scalability. So our clients have listened to us, and either due to necessity or by design made a conscious decision to make that transition. And NOW we are at this cross roads where Middleware meets Data…. So it is relevant!

So now broadly we should use the following technical criteria to distinguish the solutions:

  1. Data access and Query Method – Native API, MapReduce
  2. Language Support – Java, C++, etc
  3. Protocol support for an access and Integration – HTTP / JSON, REST etc.
  4. *Important* - Non functional requirements: Security, Scalability and Performance.

In general

  1. All of these solution address or claim to address Scalability and are highly scalable distributed database systems
  2. In memory access is faster than disk access- this is just Physics so any solution providing in memory access, will have comparable performance outcomes.
  3. Where WE should distinguish ourselves ( on Valid technology comparisons) is the ability for us to handle “Elasticity” --- The ability for us to dynamically handle failures, membership changes on instances hosting data, and Non functional requirements: Security, Scalability and Performance.

What is No-SQL?

This movement began around 2009, we have had OG/WXS since 2005-2006, so I am sure the seed are sown around the same time as emergence of In memory data grid or IMDG. So NO SQL I would say is Next Generation Databases mostly associated with terms like:

  1. being non-relational,
  2. distributed,
  3. open-source and horizontally scalable. Etc

The original intention has been to create highly scalable distributed database systems that can handle massive amounts of data without the traditional challenges of a traditional relational database systems (things like table scans, locks etc).

Often more characteristics apply such as:

  1. schema-free,
  2. easy replication support,
  3. simple API,
  4. eventually consistent / BASE (not ACID),
  5. a huge amount, of data and more…

Broadly this space is classified into the following:

In Memory data Base: This is essentially relational data, store in memory. Example SolidDB, TimesTen.

In Memory data Grid: Provides a set of interconnected java processes that holds the data in memory, thereby acting as shock absorbers to the back end databases. This not only enabled faster data access, as the data is accessed from memory, but also reduces the stress on database. WXS, Coherence, terracotta etc.

Wide Colum Store: As the name suggests DDMS that store data by columns, rather than by row. The advantage of this model is processing or computing over large data of similar items. e.g.: Hadoop, Cassandra, Amazon SimpleDB

Document Store: This is a DDMS which is designed for document oriented or semi structured data. This revolves around the notion of a document, which can be anything, like binary form of PDF, word doc etc, and encoded by an object notification system like JSON, BSON or even XML. e.g.: MongoDB, CouchDB

Key-value or Tuple: General purpose DDMS and like WXS can store data in distributed memory system. As name suggests data is stored as Key value pairs or tuples. One of the most popular DDMS systems and used by many popular names like YouTube, face book, zynga, twitter etc. e.g.; Dynamo, Azure, memchached, Berkley DB

Graph data base: This is an interesting paradigm, as it provides a storage system to store graphs. Which is index-free adjacency. This approach is faster to store associative data sets for example storing the group and its members. SO these systems typically do not require expensive joins. e.g.: InfoGrid, Big data

Object database: This is not new and has been existence since late 1970s. These are also called Object Oriented databases. These never did really take off, and in our context not really an immediate threat. e.g.: Objectivity, Gemstone

The Idea: By caching strategically at many tiers, we are trying to offload processing to various tiers and ONLY dedicating processing in middleware when it is most important or the ‘window shoppers’ now mean business, we will dedicate our cycles to those business meaning clients and service them better with an enhanced experience.

Challenge: I discussed the Design phase, the challenge is to ensure the application design that is modular enough to enable these various tiers of caching and still present a unified front, where the end user is oblivious of the inner working of the application that has its content derived from various layers. An intentional design will enable the content and business logic to be isolated, thus enabling caching at various tiers.

References:

  1. http://nosql-database.org/
  2. http://cassandra.apache.org/
  3. http://hadoop.apache.org/
  4. http://www.mongodb.org/
  5. http://www.slideshare.net/harrikauhanen/nosql-3376398
  6. http://couchdb.apache.org/

Friday, January 20, 2012

Embracing the Challenges of 2012 - Is it Social, OSS or Mobile? - I think it boils down to Access and Large data!

This is my first post of 2012... So Hope you all had a great Holiday season and got much needed break, rest and time off and like me energized to tackle new Challenges of 2012!

I took some time to travel to far off places and with my travels I have observed amazing trends, which I remember discussing in my previous post and it is around surge and ubiquity with mobile technologies. I have seen that in regions that we have termed as “growth Markets” like India, Africa etc, have skipped an entire generation of communication channels ( traditional mail, e-mails) and jumped straight to mobile based communication either due to:

1. Lack of access to computers, traditional phone lines (POTS) or
2. Simple access to these i.e. either at workplace or at home.

However, access to Mobile phones is rampant. For one, they are lot cheaper than traditional computers, and provide significant level of access to cyberspace. In many countries SMS based applications are rampant as not everyone can afford smart phones. Now this trend resonates with one trend we see in developed economies like the EU, US and SA --- same is true with digital natives.

Conclusion: In many ways the world is converging to this universal communication channel, be it the village scholar in Africa or a teenage student in US – They all seem to be humming the same tune.

Why is this relevant:
Businesses all around the world are and will try to capitalize on this converging platform. As this platform access is local with potential global reach.

Here is where we come in:
I was at Lotusphere 2012 last week, and the theme of the conference was “Business made Social” – The entire conference was dedicated to technologies aimed at bringing people together and harnessing the collective knowledge and decision making capability on a single collaborative platform. Lotus brand will call it communities, but the point is to harness the collective power organizational social network to address the new business models. --- This.. I think is an emerging platform where we will do business. Of course some of the trends painted was in my opinion hype and far reaching but there is certain amount of truth in productivity achieved with personal/social network.

Tying it all in:
We see a global trend and then we see new models – some adapting, some leading and yes some dying failing to adapt. So our conversation with our client – as I have always asserted needs to be relevant.

Many clients have said - first it was SOA, now it is cloud, and spotting the trend this year it will be Social-Mobile, are we just coining new fancy terms to combat the same problem? I do not know , but I certainly know that it is an evolution, virtualization came before cloud and is an important component of the Cloud. Cloud, which is not just confined to provisioning and automation, is real. Our role is greater at this time to help our clients understand the distinction and partner with them to make the right choices. I would even argue that resonating with the theme of “evolution” that certain elements and tenets of cloud computing may even be foundation for a robust Social – (and/or) Mobile foundation. And is Social – Mobile strategy different?

I would argue NOT… I would say Mobile is now a channel to be Social --- everything else is ‘supporting technology base’!

As always I will be interested in your thoughts and opinions!

So to Embrace 2012 - MY focus will be on the following areas:

1. Middleware runtime - Focusing back to basics with WebSphere runtime and base WebSphere centric application Infrastructures. This is due to intense competition from OSS.

2. Mobile Platform - I think this is relevant as it creeps into application infrastructure and amalgamates mobility platform, social network and social channels that interact with enterprise hosted application infrastructure.

Lastly,
3. Focus on core and relevant technologies that address our client’s pain points!

Have a Great weekend!


:)
Nitin