(Original creator: bolarotibi)
Guest Post by Clive Howard, Principal Practitioner Analyst, Creative Intellect Consulting
Since the launch of the iPhone in 2007 organisations have gone from taking their first baby steps into the world of “Apps” to today’s Mobile First approach. Early iPhone apps were built as “native” apps with software and programming languages supplied and supported by Apple. Today’s apps need to support multiple platforms such as Android, Windows Phone and BlackBerry which can mean numerous different tools and technologies. In addition they must now contend with multiple “form factors” in the guise of different size phones and tablets requiring new User Interface (UI) design skills. Whereas those early apps were stand-alone, green-field applications aimed at customers the new generation of apps need to be integrated with legacy systems and serve customers (B2C), employees (B2E) and partners (B2B).
These tools now provide developers with the ability to create, deploy, distribute and manage apps in a fast and cost effective way. However the developer still faces a problem which these tools do little to help with. For many years developers have built client/server based applications on a traditional architecture whereby both the client and server parts lived on the same network. In addition the overwhelming majority of application logic resided within the client code base. Taking that application mobile poses two significant challenges: the first being the ability to expose certain server side resources such as data outside of the network; and second having to rebuild existing logic within a new code base built on a different technology stack. For example, the company’s internal Oracle database now needs to be open to the world beyond the firewall and much of the client Java code needs porting to HTML. Many IT functions will focus on the time and cost of creating the mobile app what cannot be neglected is the implications of enabling the backend infrastructure to serve that app. As any developer who has worked with a code base built up over many years will know moving the guts of that logic to another app carries considerable work and risk. It is this fundamental problem that sunk Rich Internet Applications (RIA) a few years ago. Many organisations wanted the benefits that came with more usable, efficient and effective application interfaces but the work to enable backend services to support the UI meant projects got bogged down sometimes for years in developing Web Services.