Upload
vankiet
View
216
Download
1
Embed Size (px)
Citation preview
Going Codeless: A Thorough Evaluation and Trend Analysis of Codeless Development Tools
www.hexaware.com
WHITEPAPER
Table of Contents
1. Executive summary 3
2. The complex and costly application development platforms of today 3
3. The downside of traditional application development process 3
4. The codeless development edge: Codeless development & available tools/ frameworks 4
5. What is codeless development? 4
6. Codeless tools & frameworks 4
7. Evaluation matrix with scores 6
8. Classification of scale for scores 8
9. Category matrix for tool selection 9
10. Pros and cons of the recommended tool (Oracle Express) 10
11. Practical limitations/ drawbacks of using codeless solution 11
12. Our verdict 12
13. Summary graph 12
14. Hexaware’s point of view 13
15. Conclusion 13
16. References 14
17. Authors’ information 14
Executive Summary
This White Paper talks about the advantages of codeless development and how it can help to tackle challenges faced by the traditional
application development process. It gives a detailed view of the various tools and frameworks available for executing codeless development and
also informs about the limitations of codeless development.
It also highlights the need for a Codeless tool or Framework that can allow us to effectively design automated tests without any programming
language and make test design, execution, results tracking, and script maintenance easier.
The complex and costly application development platforms of today
One of the biggest concerns of an enterprise is the time and cost incurred to build business solutions. There are lots of financial challenges
today’s businesses are facing, especially while maintaining their IT portfolio. Even though IT funding is going down, the expectations from IT
remain high. Few new technologies have exhibited potential to accelerate application development process but they seem to be good enough for
building only POC-like applications.
Accelerating application development and bringing agility to the process has become the need of the hour. This is where codeless development
can play a crucial role.
There are multiple solutions on codeless approach offered as tools, which are marketed as being very simple to use and maintain. Automation
SMEs, while offering solutions, come across many real-time instances where automation of coding is needed to avoid lines of code from getting
accumulated.
As the coding increases, so do the complexities and maintenance cost. Automation SMEs should concentrate on minimal code to ensure higher
quality and maintainability.
By 2018, more than half of all B2E mobile apps will be created by enterprise business analysts using codeless tools. This clearly hints that the
dependency of application development on codeless tools is likely to soar in the near future.
The downside of traditional application development process
Today's dynamic business needs cannot be fulfilled by custom application development, which involves time and resources as part of its
conventional development process. Any delays in deliveries add to cost overruns putting IT in a difficult position. The root cause can be
attributed to miscalculating training needs, quality assurance costs and prototyping costs, which are usually part of development process. Also,
in conventional development process, it is very difficult to adapt to new (changing) requirements without impacting development process as
these processes follow some rigid specification and development cycles.
Such problems are likely to impact vital business performance metrics like ROI (Return on Investment) and TCO (Total Cost of Ownership),
which are measures of a successful project.
The answer for these issues lies with the ability to expedite the development cycle, curtail overhead and accommodate business agility, which
enables developers to deliver more efficient applications. As part of the solution, business has identified Application development process as an
area of improvement to meet customer expectation. Cost overruns is another key area to focus on.
The codeless development edge: Codeless development & available tools/ frameworks
Codeless solution is an approach to software that allows SMEs to quickly build a business application by customizing applications to precisely
meet business needs with limited or no software expertise or hiring of expensive consultants.
Businesses today need agile IT solutions which can adapt to market-driven changes by building quick solutions. Rapid Application Development
(RAD) tools, in general, have proved to be successful in bringing agility into application development projects and so have been beneficial for
businesses. Codeless approach and solutions lead to speedy development, accelerated prototyping, reduced training needs and enabling of rapid
project changes.
Codeless tools & frameworks
Following are a few codeless tools & frameworks which can have a strong impact on business:
• WaveMaker helps to deliver modern, multi-device apps on open standards platform.
• Scalability - Business users can easily integrate (consume and expose) with internal and external services.
Deployable and executable applications are present on a scalable Cloud infrastructure for global user access
on any device.
• Independent- The generated code/ product application can be edited without the parent platform or studio.
• Maintainability – Using de facto standards, including open Java Script in UI, Spring in transaction layer and
Hibernate in persistence layer gives a choice of extending and maintaining it in any development platform.
• Productivity – Users can dramatically increase developer productivity with 80% less code. It can be created
once but run as adaptive framework on any device.
• It is a Java web development framework to create and maintain high quality web based projects. You can
follow a familiar component-based approach to build single-page web apps. By using this framework, you will
be able to build your apps faster than you could have built by using any other UI framework.
• Vaadin Designer is a visual WYSIWYG user-friendly tool to create Vaadin UIs and views by using direct
drag-and-drop manipulation. It features live external preview and maintains a strong connection between
the clean declarative format and the Java code. Thus, it enables businesses to quickly design and layout UIs.
• Building a web-based application with no coding and making it available on any platform and environment is
the prime feature of the tool.
• Rapid deployment can be done in any environmental lifecycle without extra expenses.
• User-friendly options like drag and drop modeling and design tools present which help to rapidly define the
processes.
• Productivity increases with built-in Business Process workflow automation.
• Capable of tracking development activity and process performance.
• Configurable rule changes, exceptions, and escalations are a few embedded modules or features, thereby a
allowing your team to instantly respond to process events through email notification.
• Integration capability with existing systems, databases and spreadsheets enhances speed and data accuracy.
• With quick turnout and fast release cycles, you can instantly reap the benefits of new features.
• You can leverage the tool to perform Platform as a Service and avoid infrastructure complexities.
WaveMaker
Vaadin
Konfigure
Wega 7’s visually-driven application development delivers apps faster than traditional approaches. Business and
IT can work together using visual models to capture business requirements at any time. With no coding required,
Pega 7 can automatically generate the application and its documentation.
From a productivity perspective in the areas of application development, it has been observed that Pega
technology has some definite advantages over its peers because of the way Pega solution stack is being built. The
following benefits were observed:
• Time to market – Products and services are built comparatively quicker
• Agility to respond quicker– Customer demands and newer market opportunities are responded to, quickly
• Flexibility – Innovation is driven faster at much reduced costs
• Readiness – Service offering development is built quicker for newer customer engagement
• Reliability - Reliability of services offerings is increased with lower defect occurrence and with extensive
reusability
• Resource Optimization – Required business process, application development and deployments are achieved
through key personnel, thereby optimizing the resource utilization derived from reduction in cycle time in each
of the process steps mentioned
OpenXava is the fastest way to create your custom mobile and web applications, is open source and can be used
inside a company without an external Cloud server. It is an AJAX Java Framework for Rapid Development of
Enterprise Web Applications where programmers only need to write the domain classes in plain Java to get a
web application ready for production.
OutSystems provides a low-code rapid application development and delivery platform that enables seamless
integration of custom code. You can combine speed with customization for the best of both worlds, integrate
with all of your existing systems and data sources and maintain order with built-in management and analytics.
Oracle Application Express enables you to design, develop and deploy beautiful, responsive, database-driven
applications using only your web browser.
• Modern, intuitive, and powerful browser-based IDE to quickly build and run applications, enabling easy
iterative development.
• Powerful and intuitive design tools enable easy and extensive customization of your application's UI
The Mendix application platform leverages a visual, model-driven software development approach and has
been recognized as a leader in its sector. In December 2014, Mendix was cited as a “Leader” in the The Forrester
Wave™: Enterprise Public Cloud Platforms for Rapid Developers (in its Q4 2014 report). Gartner also listed
Mendix as a Visionary within its 2015 Magic Quadrant for Enterprise Application Platforms as a Service.
The rapid app platform-as-a-service (aPaaS) offering prioritizes speed and agility and utilizes a “no code”
principle. The use of visual models simplifies app creation and migration, and allows business users to more
directly participate in the development of applications. The result is a significant reduction in time to market,
allowing IT teams and business leaders to collaborate on building effective applications.
Oracle Application Express enables you to design, develop and deploy beautiful, responsive, database-driven
applications using only your web browser.
• Modern, intuitive, and powerful browser-based IDE to quickly build and run applications, enabling easy
iterative development.
• Powerful and intuitive design tools enable easy and extensive customization of your application's UI
Pega BPM
OpenXava
OutSystems
Mendix
Oracle Application Express
By using Oracle Cloud platform, an application can be built, integrated, tested and deployed to multi-channels
seamlessly.
Oracle SaaS: Modern cloud applications from Oracle help to re-construct the development and business. The
oracle SaaS applications in Oracle Cloud are integrated (with mobile, and analytic capabilities) at the level of
performance the market demands.
Oracle PaaS: Oracle Cloud Platform as a Service (PaaS) accelerates innovation and business transformation with
the right choice and helps IT (enterprise)/ software vendors (independent) and developers to rapidly build and
deploy rich applications also by extending Oracle Cloud SaaS apps.
Oracle IaaS: A complete set of integrated, infrastructure services that enables businesses to execute workload
in an enterprise cloud managed, hosted, and supported by Oracle.
Oracle Application Builder as Cloud Service enables business and technical users to rapidly create web and
mobile apps, minimizing dependence on IT departments and reducing infrastructure costs without any prior
programming experience.
Today, the world expects a business to adjust quickly as per evolving requirements from the market, customers,
as well as from the changing needs of the business’ internal processes. These requirement changes also mean
that the tools and applications used to run a business need to change or be replaced.
Do-It-Yourself Development - with no previous programming experience to rapidly create web and mobile apps, minimizing dependence on IT
departments and reducing infrastructure costs.
Evaluation matrix with scores
Following matrix shows the scores against key evaluation features published by respective owners or proprietor. The scores are marked as part
of white paper preparation and the indicated scores are features based upon the proprietors’ specifications.
[Note: Refer to the below criteria table. Features Vs. criteria with comments and scores.]
O p e r a t i o n a l environment- Oracle Cloud
Build UI First or Data First
Wire Up Data Sources to Your UI
Publish Your App
Test As You Go 04030201
SCORE
Classification of scale for scores
Below matrix is a scale of criteria Vs. features with comments and scores.
Category matrix for tool selection
The features are categorized into three major categories
Category Features
Codeless
Development
Cloud
Deployment
Maintainability
Multi-Devise supportTool usage effort for code generationDiversification of use casesEase of understandingfor developersExtent of codeless AutomationGeneration of code with respect to open standard technologies- spring, GWT, hibernates, strutsModel for code generation (drag-and-drop from UI/UX)
Support for cloud deployment - Out of the box features available/ vendor support will be required
MaintaunablitySupport for troubleshootingonline training/ availablity for documentationproperietry lockingSupport for customization after code generationEase of testing and deplloymentExtensiblityof generated code
........
..
.......
The matrix is derived to select the tool on the basis of the average score of categorized features.
Pros and cons of the recommended tool (Oracle Express)Evaluation matrix (where the scores are based on proprietors’ specifications) indicates that Oracle Express, aka Apex, along with Oracle Cloud,
is relatively ahead of other tools. Below are some of the key points you must take a note of:
• One of the key scoring points of Apex tools is Oracle Cloud. Oracle Cloud allows to build, test, integrate, deploy and extend all in Cloud
without having any external dependencies.
• Oracle Express offers a more focused solution around database, thus indicating that all the key business logic is residing in database as
metadata.
• Oracle Express does not generate any code. It generates metadata and stores in its database. Though it saves your efforts for compilation
and maintainability of the code, it does have its own limitations when it comes to extensibility. Any extensibility has to be approached by
extending enhancing SQL statements.
To know how codeless solution can be achieved using Oracle Cloud (*aaS), read on.
Take stock of your DevOps tools
Restricted requirement addressing capabilities:The codeless tools, at times, can be restrictive to a specific business use they are targeted at.
The tools features might not be broad enough to address all the Requirements. Once a requirement is not met using the tool, it leads to code
plumbing which introduces typical developmental issues.
Some of the other major challenges are:
Practical limitations/ drawbacks of using codeless solution
Limited options/ features
Developing using the
codeless approach is no
doubt less time
consuming with increased
productivity. However, it
restricts you from creating
applications based on
innovative designs as these
tools have limited options.
Inefficient code
As the code generated is in a platform’s native
language, there will be little
or no opportunity to tweak
the code to suit specific
requirements. Also, the
performance of the final
code will be determined by
the efficiency of the tool.
Code complexity
Usually, the codes
generated by these tools
are very difficult to
understand and they follow
frameworks of the tool
owner, which might not
necessarily be open
standard. This introduces
huge learning curve for the
project teams.
Limited customizations/ extensions
As mentioned earlier, these tools
are very restrictive. Only the
systems that can be modularized
can be built using these tools. As
per the needs, you may have to
write extensions which might
introduce a new layer of custom
code Also, the tool may not always
allow necessary customizations to
meet critical business
requirements. This can create a
deadlock.
Niche skill requirements
Requires highly skilled
developers/ designers to
build modules which are
reusable, componentized,
testable and deployable.
Additional maintenance requirements
Most often, OOB
(out-of-the-box) features do
not exactly map with the
business requirements,
thereby leading to plenty of
custom code. Thus, you may
have to maintain the custom
source code along with tool
source code. Any version
change due to enhancements/
bug fixes in the tool will impact
custom code. In this case, you
may have to modify or rewrite
custom code accordingly. Even
Lack of clarity around ownership
In case of bugs/ client
specific enhancements,
there is no clear ownership
between the product
owner and project owner.
Ideally, it should be
product owner but he/she
might not own them
because of several
contextual issues. This
would put the project team
in severe hardship.
Constrained support
If the tool development
company does not extend
support because of any
reasons, then you may have to
rewrite the whole project.
This can impact the business
heavily.
Limited vendor adoptability
With multiple changes in
technology, it is necessary to
consider how fast these code
development tools can
quickly adopt the change and
still be viable/ relevant to
changed technology stack.
Less technology viability
Codeless development is a
niche area and very few
technology giants like
Microsoft, Google, IBM and
Oracle have a product in this
area. This puts a big question
on the viability of this
technology.
Our verdict
As a business evolves with the ever-changing customer preferences and choices, keeping IT abreast with business agility is always a challenge
while seeking competitive advantage and returns from their IT investments. Though these Codeless tools fill this gap to a considerable extent,
they can at times fall short of meeting customer expectations. From the evaluation matrix and overview, we deduce the following conclusions:
Summary graph
The following graph shows that though most of the tools are on par with respect to features, Oracle Xpress along with Oracle Cloud offers to
build, test, integrate, deploy and extend all in Cloud which is a standout feature. The graph is plotted on the basis of average scores derived from
Evaluation Matrix.
Automation process can be achieved in building low complex UI components. For client specific design styles, you may have to tweak
code but these will be predominately in JavaScript.
When it comes to defining/ modelling complex business process with underlying business logic, these codeless tools can seldom scale
up. You may have to modify/ enhance the code, which might not be a possibility due to license issues.
For database builders, though there are tools which can actually help with data logic, they are limited to very low complex database
operations. For complex use cases, performance, scalability, data integrity and data backup aspects become very critical and are usually
not addressed by these tools.
For low complex UI driven applications, you can make use of the codeless tools optimally. But for complex applications, you might end
up with issues regarding maintainability and NFRs.
Hexaware’s point of view
• Codeless Enterprise with Oracle Cloud services is certainly an emerging technology in response to growing demand from business users.
• Significant cost reductions by avoiding direct impact on frontline services and growth by computing the Oracle Cloud services as codeless
solution are definitely the emerging economic needs.
• The need to operate effective and adaptive IT systems at low costs will continue to drive towards building Enterprise applications with Cloud
computing techniques and tools which in turn improve quality, increases project success and reduces transitional costs.
These techniques will inevitably reduce and remove the role of software programming for those areas of discipline that are repetitive in
nature.
• Codeless Enterprise *aaS technology has achieved a critical milestone in technical capabilities with a remarkable success rate. This evidences
possibility to create your own suitable tool-kit and operational attributes to enable efficient business processes.
• The approach of Oracle Cloud PaaS technology in software delivery enhances the impact and measurement of performance. The pace of
Oracle Cloud as a service adoption in IT industry helps professionals to leapfrog in the world of skills development and find their skills in high
demand.
• Finally, Oracle Cloud services as codeless solution is a less risky-to-have, ready-to-use-software application, which turns out to be better
than building one.
In order for norms of behavior to change, there has to be evidence of ‘something better that works’.
Conclusion
The need to operate more effective and adaptive information systems at lower costs will continue to drive commercial enterprises relentlessly
towards new application authoring techniques and tools. This will improve the quality of software and increase the likelihood of software
development project success while reducing transitional costs.
These techniques will inevitably reduce or ultimately remove the role of software programming for those areas of discipline that are repetitive
in their nature or in their outcome.
References
https://Cloud.oracle.com/
http://www.wavemaker.com/
https://www.outsystems.com/
https://www.mendix.com/
www.openxava.org/
http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html
https://vaadin.com/
https://vaadin.com/designer
www.konfigure.com/
https://www.pega.com/
Authors’ information
Whitepaper written by Hexaware Consulting team - Sai Krishna and Deboprasad Ghosh (JAVA/ J2EE Architects) under the guidance and
mentoring of Sanjay Sharma (Head-Consulting and Solutions under ADM practice)
Safe Harbor StatementCertain statements in this press release concerning our future growth prospects are forward-looking statements, which involve a number of risks, and uncertainties that could cause actual results to differ materially from those in such forward-looking statements. The risks and uncertainties relating to these statements include, but are not limited to, risks and uncertainties regarding fluctuations in earnings, our ability to manage growth, intense competition in IT services including those factors which may affect our cost advantage, wage increases in India, our ability to attract and retain highly skilled professionals, time and cost overruns on fixed-price, fixed-time frame contracts, client concentration, restrictions on immigration, our ability to manage our international operations, reduced demand for technology in our key focus areas, disruptions in telecommunication networks, our ability to successfully complete and integrate potential acquisitions, liability for damages on our service contracts, the success of the companies in which Hexaware has made strategic investments, withdrawal of governmental fiscal incentives, political instability, legal restrictions on raising capital or acquiring companies outside India, and unauthorized use of our intellectual property and general economic conditions affecting our industry.
www.hexaware.com | [email protected]
About HexawareHexaware is one of the leading, global providers of IT, Application, Infrastructure, BPO and Digital services. Our business philosophy of Shrink IT, Grow Digital allows customers to significantly shrink commodity IT spend while partnering with them to embrace digitalization. The Company focuses on key domains such as Banking, Financial Services, Capital Market, Healthcare, Insurance, Manufacturing, Retail, Education, Telecom, Travel, Transportation and Logistics. Hexaware focuses on delivering business results and leveraging technology solutions by specializing in services like; Application support, development and maintenance, Enterprise Solutions, Human Capital Management, Business Intelligence & Analytics, Digital Assurance (Testing), Infrastructure Management Services, Digital and Business Process Services. Founded in 1990, Hexaware has a well-established global delivery model armed with proprietary tools and methodologies, skilled human capital and SEI CMMI-Level 5 certification. For additional information logon to: www.hexaware.com
India Headquarters152, Sector – 3Millennium Business Park‘A’ Block, TTC Industrial AreaMahape, Navi Mumbai – 400 710Tel : +91-22-67919595Fax : +91-22-67919500
EU HeadquartersLevel 19, 40 Bank Street,Canary Wharf,London - E14 5NRTel: +44-020-77154100Fax: +44-020-77154101
APAC Headquarters180 Cecil Street,#11-02, Bangkok Bank Building,Singapore 069546Tel : +65-63253020Fax : +65-6222728
NA HeadquartersMetro 101, Suite 600,101 WoodAvenue South, Iselin,New Jersey - 08830Tel: +001-609-409-6950Fax: +001-609-409-6910