A next-generation business app toolbox
Abstraction has been a fundamental aspect of information technology throughout its history. The leap from punch cards and electron tubes to integrated circuits and Java™ code corresponds to tremendous productivity gains, but it is still theoretically possible to realize the functionality of a modern RDBMS, for example, using punch cards, even though such an implementation would certainly not be very practical.
As the world evolves in the 21st century to ever-higher levels of abstraction with the introduction of modern cloud technology — with expectations on corporate IT departments following hand-in-hand — this perspective provides an interesting background.
While we don't intend to quantify or compare the gains of different innovations in this article, we provide useful information on the category of cloud computing known as Platform as a Service (PaaS) and deliver examples of the abstractions commonly provided by such technology.
PaaS is in itself a broad concept with options ranging from cloud-based, run-time environments for "traditional code" to new "point-and-click" platforms that allow application development, deployment, and execution directly from within the convenience of a web browser without coding.
From the technologist's perspective, selecting a leaner-than-traditional approach has the potential to eliminate the hassles associated with provisioning infrastructure and third-party software. Further, it can reduce the actual development time to a fraction, extend the audience of potential application developers, and cut the amount of testing required due to effective reuse of readily available building blocks. For the business stakeholder, the time to a productive solution is drastically shortened and the deliverables can be observed and explored live from day one of the typically iterative development effort. Once an application is ready for production, deployment is a matter of a decision rather than a time-consuming and error-prone operation.
Figure 1 outlines alternate approaches for developing new applications along the dimensions of time towards a productive system and the flexibility offered by the underlying technology. When demand is urgent, the prospect of trading a few in-depth requirements for significant reductions in time and cost can be very attractive and do not necessarily impact the application's underlying business case.
Figure 1. Time and flexibility as determiners in developing a production-ready app
Developing an enterprise application with a point-and-click PaaS
The only thing a developer needs to worry about when using a point-and-click PaaS is the definition of the application's business logic and GUI. In other words: No servers, no firewalls, no relational database management systems (RDBMS), no programming language, no source code, no third-party libraries, no critical security patches, no browser compatibility issues, no downtime, and no worries about backup sufficiency. Some of the technical decisions and tasks associated with application development have already been built into the platform, thus freeing the developer to work at a higher level of abstraction.
Here is how development of a new application on a point and click PaaS typically works. It all starts with a simple signup in a web browser: Within minutes, a ready-to-use, all-inclusive "application space" is available to the team. Once logged in, you see a standard configurable menu for application navigation including a number of entries for building your application.
The first step is to explore the data model designer in which an arbitrary relational data model is created simply by providing the names and basic parameters of tables and fields. The data model does not need to be perfected at the first attempt; it can be extended and modified over the lifetime of the application without downtime.
In the next few minutes, you can use a form builder to drag and drop tables and fields onto a form canvas to generate the first end-user forms. Once completed the forms are automatically available in the application menu.
By default, the application is configured with basic access rights for your data model and forms. This, of course, can be changed, as needed using a user-friendly interface. Access rights can typically be controlled on a select, update, insert, and delete basis per role and for data rows and columns in the data model as well as for forms in the GUI.
Beyond these basics, wizards let a developer (or any reasonably computer-savvy user) configure reports, imports, and business logic on a step-by-step basis.
Compare and contrast development models
|Traditional development||Point-and-click PaaS configuration|
|Lengthy process with multiple stakeholders to validate, approve, and fund project||Low cost and short timelines enable fast decisions at the departmental level|
|Time-consuming hardware provisioning and third-party software deployment||Simple user sign-up and a ready-to-use application space|
|Complex requirements development phase with multiple stakeholders to appease||Simplified requirements definition since the platform allows agile, iterative changes to the application and underlying data model|
|Extensive data model iterations and solidification of requirements||A try-evaluate-modify approach with on the fly updates to the data model|
|Stakeholders see deliverables only in the last weeks of a months-long development project, often identifying significant new requirements only at the end of the project||Stakeholders can see the results emerge from day one and contribute to the evolving requirements list throughout the project|
|Production deployment can take weeks||Production deployment is matter of a simple mouse click|
|Individual servers (or virtual machines) with the requisite support and maintenance teams for each individual application||One support and maintenance team for a platform capable of running hundreds of applications on one server|
Figure 2 demonstrates the speed at which business application can be created in the cloud using the point-and-click model. It also shows how the ease of doing iterations without disrupting usage can contribute to successful application development projects.
Figure 2. Point-and-click development can be speedy
When to use point and click PaaS development
Of course, not all applications are created equal. Gartner analysts provide interesting insights around the concept of differing application management mores for different kinds of applications. Borrowing the concept of pace layering from architecture (different segments of building on a composite item occur on different time scales), they have identified three fundamental types of applications:
- Systems of Record: The core packaged solutions that keep a business running: ERP, supply chain management, CRM, etc.
- Systems of Differentiation: The applications that power a company's unique processes and drive its competitive advantage.
- Systems of Innovation: The leading edge custom applications that must be developed quickly in response to changing business needs.
Recognizing the differences in the nature of the underlying business process that each type of application supports and the varying speeds at which they must be created and updated allows IT leaders to agree on flexible and appropriate management strategies that vary according to the needs of each application type.
Massive corporate applications that power mature processes, regulatory requirements, or industry-standard practices are much less ideal for the point-and-click PaaS approach than market-driven point solutions that require quick realization and the agility to roll with the punches after deployment.
Enterprise grade point-and-click PaaS platforms are particularly interesting within the context of this application management approach. Not only do they deliver the flexibility needed for rapid early development of innovative applications, but out of the box they also support enterprise grade requirements for data, security, backup, service level agreements, provisioning management, and access controls needed to support maturing applications as they transition from systems of innovation to systems of differentiation supporting processes across the enterprise. This is an important aspect of successfully integrating "long tail" innovations with the DNA of the company.
Many applications suitable for point-and-click PaaS can be found in the long tail of enterprise applications — applications (or business problems for which no application has been created yet) that are non-standard, of high business value, and support vital business innovation. (See Figure 3.)
Figure 3. The long tail
How point-and-click PaaS changes the dynamics of app development
Consider a typical traditional development project or application operation involving a delicate mix of bureaucracy and policy on one hand and carefully assembled and coordinated teams of programmers and other technical experts, analysts, and business stakeholders on the other. The following sections explain how point-and-click PaaS can change this dynamic.
The business case: Should we develop this application?
Cloud technology drastically alters the business case for almost any application development project. Applications whose costs versus potential competitive benefits could not be justified or whose development risks could not be mitigated under traditional development processes should be reassessed.
The potential to consolidate hundreds of applications on one multi-tenant platform instance plus the lower costs, increased speed, and reduced risk associated with application development using a point-and-click PaaS platform not only contribute to better experiences for the developers and stakeholders, but it also significantly changes the mathematics underlying "go/no go" decisions.
Shortening the requirements phase
Point-and-click PaaS platforms allow taking iterative development to the next level. Stakeholders are naturally involved and iterations can be performed in minutes. This does not eliminate the need to establish requirements; however, it encourages experiments and innovation, while reducing risk.
Focusing the development phase
Development on point-and-click platforms centers on the business logic and user experience. Readily available standard but highly configurable building blocks are used to "assemble" the application. This drastically increases the speed at which tailor-made applications of high quality can be developed, as well as the number of stakeholders that can effectively observe or participate in the project.
Simplifying the deployment phase
Seamless integration of the development and runtime environment means that deployment does not exist in the traditional definition; the activation of a new application or function is just a matter of a click. When less focus on the technology is required, more energy can be spent on other critical aspects such as communicating with the users.
Post-deployment management gains
As mentioned, a point-and-click platform provides an effective vehicle for consolidation. This has positive effects on all aspects of the IT operation: Less servers, less complexity, less learning threshold for users, and last but not least, operation teams can be organized for the multi-tenant platform rather than individual applications.
Furthermore, it is important to note that point-and-click PaaS does not only alter the game during the initial development of an application, but that modifications afterwards are equally quick and easy. One very interesting result of this is that improvement suggestions coming from users can actually be managed, not in six-month cycles, but continuously.
Real-world example: IS Tools PaaS engine
As a real-world example of the IS Tools PaaS engine system in action, we'd like to provide a walkthrough of a real case where the system was used to support the deployment of a large, complex telecom network, at record speed.
A global, Fortune 500 provider of telecommunication equipment, system integration, and related services to mobile and fixed network operators, our scenario company is a world leading, end-to-end telecommunications solution provider to more than 1000 networks in 140 countries — 40 percent of all mobile telephone calls are made through systems this company sells and supports.
Within 12 months, the company wants to roll out a new, large, complex network while simultaneously upgrading and integrating an old network for a major mobile telecommunications operator in the South Pacific.
The objective is to greenfield deploy and commission more than 5000 3G sites and, in parallel, upgrade the existing 2G networks to 3G at 2000 sites, all within six months. (In telecomm terms, greenfield means a project which lacks any constraints imposed by prior networks.)
To meet this objective on time, a substantial number of internal and external subcontractors were enlisted to conduct a multitude of work activities in parallel. Critical to the accomplishment of the objective was for project management to operate with the highest level of effectiveness and efficiency with a razor thin margin for error.
Identified mission-critical capabilities
The identified mission-critical capabilities include:
- Complete control at all times.
- Strict adherence to the schedule.
- Accommodate coordination and collaboration of stakeholders.
- Readiness to jumpstart and support a diversified and dynamic project.
- Complete, accurate, and timely information with different access levels to different stakeholders.
The IS Tools PaaS platform is selected for the entire undertaking of building, launching, and deploying the end-to-end information system for management and roll-out of the project. Professional services from IS Tools AB assisted in a rapid application configuration and deployment of the solution. A foundation for best practice gained from previous roll-out projects using the IS Tools platform provided the template for getting the project kicked off and flying.
Features of the IS Tools PaaS solution include:
- Report, track, and monitor progress on the fly and with transparency.
- Structure, delegate, and distribute work assignments rapidly with control.
- A common communication vehicle for sharing accurate and timely information.
- Dynamic online adaptation of project structures and process logic to deal with changes.
- Proven and cost effective IT platform.
- Large and scalable concurrent usage for all stakeholders through Internet web browsing.
- Boosted project speed and enhanced value chain efficiency from end-customer through to subcontractors by providing process and teamwork support.
- Short lead time for project start-up.
- Ability to run many tasks simultaneously through proactive project management and performance measurement.
- Deliver targeted project quality and productivity.
Point-and-click PaaS platforms reliably deliver much-needed flexibility for developing cutting-edge innovative applications and transitioning them to mature applications that deliver true competitive advantages in the market. The simple interface not only slashes development cost, time, and risks, it also democratizes application development, extending long tail innovation opportunities throughout an enterprise.
- Deploy products using rapid deployment service shows you how to quickly deploy products in the IBM Cloud while minimizing the need for a specialist to install complex products and reducing the number of human errors that can occur during installation.
- In the developerWorks cloud developer resources, discover and share knowledge and experience of application and services developers building their projects for cloud deployment.
- Find out how to access IBM SmartCloud Enterprise.
Get products and technologies
- See the product images available for IBM SmartCloud Enterprise.
- Join a cloud computing group on developerWorks.
- Read all the great cloud blogs on developerWorks.
- Join the developerWorks community, a professional network and unified set of community tools for connecting, sharing, and collaborating.
Dig deeper into Cloud computing on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Experiment with new directions in software development.
Software development in the cloud. Register today to create a project.
Deploy public cloud instances in as few as 5 minutes. Try the SoftLayer public cloud instance for one month.