Surveying the state of enterprise software application development today, it is staggering to look at the depth to which our infrastructure engineering processes now take us. The incremental layers and services that we need to work with to attune our systems to the needs of the modern computing landscape are so multifarious in nature, that it is perhaps no surprise that so many software engineering tools exist in this space.
A key example of this changing landscape is the growth of applications targeted at mobile devices. Nowadays, nearly all enterprise level applications are rolling out elements of their core structure to mobile devices in one form or another.
High-end application developers need to start thinking about mobile considerations such as limited screen size, processing power and battery life as well as the additional challenges presented by touch-based input methods.
The need to separate the underlying technology of the application from its business logic is not a new consideration for developers. However, the nature of mobile application development is such that divorcing the underlying infrastructure from the application brings unique challenges. These two mobile development ‘pain points’ – lack of a comprehensive RIA development platform and integration of mobile front ends with IT back applications – can be alleviated when building applications that co-exist in both a desktop enterprise and mobile enterprise environment.
Pain point #1: Lack of comprehensive RIA development platforms
The main ‘pain’ facing developers today is the lack of solid, business-oriented, portable mobile development platforms. Each mobile platform today requires different development tools and skill-sets, and the developer is required to either choose between them or learn them all. These existing development environments are comparable to the first generation of desktop development tools from a decade ago in terms of functionality and simplicity.
What’s really required here is a solid RIA (rich internet application) technology that enables developers to target multiple platforms without learning a new set of skills for each one. RIAs are the unsung heroes of the Cloud and mobile enterprise phenomena, with Gartner Research predicting that 60% of all software development projects will involve Rich Internet Applications within the coming three years.
RIAs are fully interactive, desktop-style, business applications that are installed at a single location and are accessible via any device via the internet. They provide the ‘rich’ functionality demanded by today’s enterprise business users, but do so via the convenience of the internet.
Image 1: RIA helps businesses to deploy business applications anytime and anywhere
To achieve this rich internet computing capability, RIA combines the power and features of a desktop ‘Fat’ Client with the low operating cost of the internet’s ‘Thin’ Client.
Anyone planning on building an enterprise grade mobile application needs to consider a RIA platform. A limiting factor however is the dearth of comprehensive RIA build technologies. In addition, developers who are not aware of these platforms must resort to acquiring different skills to create the very different Client and Server code components required by a RIA.
Prescription #1: platforms for mobile and the Cloud
To address the first pain point, a solution worth considering for both businesses and software vendors is the new breed of mobile enterprise application platforms like uniPaaS, Magic Software’s application platform, which simplifies the build and deployment of full client, rich internet applications (RIA), mobile applications and Software-as-a-Service (SaaS) offerings.
What’s important is that these platforms are not simply programming languages. Rather, they contain pre-built and pre-compiled business functionality, a ‘metadata’ driven engine that enables developers to concentrate on building and testing application functionality instead of application infrastructure. Such platforms can cut weeks, perhaps even months from the mobile application development cycle – minimising ‘technical debt’ and enabling software vendors and enterprise companies to get their mobile offering to market faster and more cost-efficiently than before.
Increasingly there’s a demand for applications that can be deployed not just to mobile, but also to the Cloud. Application platforms can offer a viable ‘hybrid’ deployment capability that enables enterprises to move at their own pace towards mobile, cloud based applications. The main point is that ‘hybrid’ application platforms do not force the user to develop an application for only one specific deployment scenario (in this case the mobile device).
Image 2: Application developed for both desktop and mobile
Pain point #2: Integrating mobile front-end apps with back-end applications
There’s little point building a RIA for a mobile if it cannot transfer data to and from the enterprise’s back-end systems. Applications that can consolidate data from multiple systems are often the ones that bring the most value to end users and mobile applications are no exception to this.
For instance, a typical business in the manufacturing or distribution sector may opt to use a mobile application to help staff rapidly receive and process part availability requests. This requires real-time integration with multiple back-end systems:
- The part request has to be validated with the ERP system to determine stock availability.
- A dispatch must be made and an invoice raised from the back-office system.
- The customer service details must be updated in the company’s CRM system and this must be then synchronized with the ERP system.
Only once all this is achieved can an accurate shipping report be sent out to the customer.
Prescription #2: ensuring maximum data integration with minimum effort
To alleviate our second pain point – ensuring that multiple back-end systems interact smoothly and seamlessly with the front-end mobile application, enterprises and mobile software vendors have traditionally integrated their mobile application and other enterprise applications by coding bespoke interfaces that access the target system APIs or databases.
The nature of mobile communications means that designers need to allow for interruptions to network connectivity. The methods and design patterns used in communicating between desktop (or web) applications and back-end systems do not translate well to the mobile space, particularly when the mobile application needs to maintain state over a protracted period. Asynchronous transaction management provided by, for example, a metadata-based integration tool, can help developers manage transactions effectively in mobile applications by providing automatic and asynchronous data integration with enterprise applications.
Developing applications, and in particular Rich Internet Applications for mobile devices is more complex than developing applications for desktop or browser-based delivery. The need to support multiple target platforms and to manage connectivity to back end systems means that developers need to show considerable ingenuity and skill when building these systems. The impact on the business customer is that these applications cost more to build and more to maintain than ‘traditional’ systems.
The good news is that metadata driven mobile business application platforms can take much of the pain out of mobile application development: reducing the need to build ‘infrastructure’ code and simplifying the support of multiple target platforms.
About Magic Software
Magic Software Enterprises Ltd. (NASDAQ: MGIC) is a global provider of on-premise and cloud-enabled application platform solutions – including full client, rich internet applications (RIA), mobile or Software-as-a-Service (SaaS) modes – and business and process integration solutions. Magic Software has 13 offices worldwide and a presence in over 50 countries with a global network of ISVs, system integrators, value-added distributors and resellers, as well as consulting and OEM partners. The company’s award-winning, code-free solutions give partners and customers the power to leverage existing IT resources, enhance business agility and focus on core business priorities. Magic Software’s technological approach, product roadmap and corporate strategy are recognized by leading industry analysts. Magic Software has partnerships with global IT leaders including SAP AG, salesforce.com, IBM and Oracle. For more information visit about Magic Software and its products and services, visit www.magicsoftware.com.