Using an Application Framework is a No Brainer | LANSA Blog
Low-Code Mobile App Development and Data Integration - LANSA Skip to content

App Development & Modernization Tools for Complex Projects

Low-Code Platform

LANSA's low-code development platform accelerates and simplifies the creation of enterprise apps while making your development team more productive. LANSA puts you back in control.

Learn more
Mobile Development

LANSA makes it easier than ever to take your apps mobile. Build mobile-first apps as easily as web apps using a single platform.

Learn more
Enterprise Integration

LANSA offers powerful integration choices for your web and mobile apps. We support a range of options to make integration fast and easy.

Learn more
IBM i Modernization

LANSA is the only low-code development platform to natively support IBM i. You can build new apps and modernize existing ones - with native web and mobile support

Learn more

Trusted by thousands of organizations worldwide

The Low-Code Platform That Benefits Every Technical Role

Visual LANSA impacts every area of the business, delivering company-wide innovation, productivity and control.
For IT Managers

LANSA lets your team create apps up to 10x faster than usual, reducing the time- to- market for new apps and helping clear your application backlog.

Learn more
For CxOs

LANSA equips your IT team to innovate and deliver new apps in the time frame the business needs. Your team becomes more productive and responsive.

Learn more
For Developers

LANSA’s low-code platform allows you to become a full-stack developer delivering web and mobile apps faster and easier than ever before.

Learn more
For ISVs/SIs

LANSA’s low-code platform helps build easy-to-maintain apps for your customers, reduces time-to-market, and makes your team more productive.

Learn more
Noun Quote

“With LANSA we can help our customers be more agile and responsive to new business requirements. That's extremely important in the transportation industry. Enhancements and customization are now simple and fast, meaning that we can respond quicker to customer requests.”

“With LANSA we can help our customers be more agile and responsive to new business requirements. That's extremely important in the transportation industry. Enhancements and customization are now simple and fast, meaning that we can respond quicker to customer requests.”

“With LANSA we can help our customers be more agile and responsive to new business requirements. That's extremely important in the transportation industry. Enhancements and customization are now simple and fast, meaning that we can respond quicker to customer requests.”

Glenn Gundermann, Application Development Manager, Nulogx

“Our ERP system happens to run on IBM i, which is often and mistakenly earmarked as a legacy platform. Using LANSA and with a renewed focus on our existing ERP system, we have proven to be more flexible and productive than a packaged ERP like SAP ever could be.”

“Our ERP system happens to run on IBM i, which is often and mistakenly earmarked as a legacy platform. Using LANSA and with a renewed focus on our existing ERP system, we have proven to be more flexible and productive than a packaged ERP like SAP ever could be.”

“Our ERP system happens to run on IBM i, which is often and mistakenly earmarked as a legacy platform. Using LANSA and with a renewed focus on our existing ERP system, we have proven to be more flexible and productive than a packaged ERP like SAP ever could be.”

Arnold Hendriks, Application Development Manager, Bidfood

“The LANSA portal is a crucial part of our digital strategy and plays an important role in remaining competitive. It offers a new way to add value to our services, above and beyond just selling a product.”

Michael Hall, Head of Digital, Elders Rural

previous arrow
next arrow
Slider
X

FREE WHITEPAPER

The Power of Coding in a Low-Code Solution

Free Virtual Event, October 2020

A full day of Low-Code sessions for Devs, CxOs & everyone in between

FREE eLearning Site

Enroll in free courses for every stage of the Low-Code journey
Application Frameworks

Why Using an Application Framework like the VLF should be a No Brainer

Frameworks are everywhere.  They are available for almost every part of software development and frameworks are not exclusive to the IT industry.  Medicine, banking and insurance all have risk assessment frameworks. Education uses learning frameworks, companies are measured by quality frameworks and the USA Department of Defense has a framework for enterprise architecture.

Why are frameworks popular?  Where do they apply in software development?  How can frameworks help to reduce cost and boost productivity?  Before addressing these questions, we need to understand what we mean by framework.

What is a Framework?

Imagine building a house. You start with a vacant block of land, prepare the land and then you lay the foundations. The next step is building the floors, walls, ceilings and roof, followed by wiring the electrical components and connecting the water. At this point the house is operational but not livable. The next stage in the project includes painting, laying carpet, decorating, installing appliances and exterior landscaping. Now the house is complete and livable but not finished. The last stage is moving in, setting up furniture, deciding who will occupy the biggest bedroom and so on. A project home is the ultimate framework, everything is complete and moving in is the only work to do. In contrast, the most work occurs when the starting point is a vacant block of land.

In the software context, frameworks give you something on which to build. They provide a quick start to developing an application. The closer the framework is to the finished application the better, reducing the effort needed to build the application. From the house illustration, a framework that provides the foundations, walls and roof is a quick start to finishing the house.

Software frameworks are available for use in each application layer: user interface, business process & logic, and data access. They fit into three categories: models, libraries or blue prints:

Model (or template) frameworks are software structures that provide a near complete foundation from which to build applications. Developers install the framework and add the application specific parts. Model frameworks are typically used in the user interface layer, where they provide assembled components upon which to build the user interface and interactions with the business process and logic layer.

Library frameworks are software collections that provide working software to accomplishes specific functions, saving developers the effort to build their own. Library frameworks are available for all application layers, providing specific functions applicable to the layer in which they participate. Examples are JavaScript libraries (jQuery and Yahoo User Interface) in the user interface layer. Application frameworks (Apache Struts, Zend Framework and LANSA Workflow Framework) in the business layer.  Database access frameworks (Hibernate, Spring, ADO.NET Entity Framework) in the data access layer.

Blue print frameworks are plans and guidelines for building software. These frameworks consist of concepts, practices, rules and assumptions that describe the architecture and define the way developers will build software. They provide design rules and coding standards that determine the technologies and tools that developers use to build applications.

Application Frameworks Diagram
The Visual LANSA Framework provides the infrastructure for an application including the security, user interface, search services, business objects management and navigation services.

Why use an Application Framework?

Software development can be an expensive and imprecise undertaking. It is expensive because of the cost of the IT staff, hardware and software involved. It is imprecise because of the range of variables that influence development activities, such as the requirements definition and the experience and skills of the developers. Companies use application frameworks as a way to reduce costs and introduce a higher level of predictability into software development.

Frameworks reduce the software development effort: Software applications consist of code related to the business logic and code related to the infrastructure that holds the application components together. When development projects include a framework, developers will spend less effort on the infrastructure and have more time to work on the business logic.

Frameworks provide generic services: Frameworks provide the generic services needed by most applications. Examples are logging, configuration, database access and caching. They include tools and methods that simplify development for event handling, user interface management, data exchange and job processing.  This infrastructure code is usually the most detailed and tedious code to write, requiring deep technical skills. Developers are more prone to making errors when working in this context. Using frameworks avoids or minimizes this situation.

Frameworks reduce complexity: Many of the design decisions necessary when starting development from scratch are already built into the framework. The framework includes both the design decisions and the code to implement the decisions. Therefore, developers do not waste time reinventing the wheel. Less experienced developers will build better quality software by adding to a framework, rather than writing all the code. Better quality software reduces potential for errors and on-going maintenance effort.

Application frameworks, like Visual LANSA Framework, promote developers to work on component development. Components are small pieces of code that perform well defined and specific functions. They are less prone to error and easier to test. Components promote reuse, as a component can be part of several applications. Frameworks enhance componentization by encapsulating implementation details behind known and established interfaces. Component development improves software quality by localizing the impact of design and implementation changes.

Frameworks Improve Productivity, Quality and Consistency: Frameworks make the software development cycle a more predictable process by providing a standardized architecture and a standardized approach to building software. For example, developers work with pre-defined rules for coding and proven methodologies for building parts of an application. They also use a given set of development tools.

An architecture framework ensures that all developers work the same way to produce code that is understandable and maintainable. Developers produce software with a more consistent quality and productivity improves because individual developers no longer need to make decisions about fundamental architecture and design issues.

Working with standardized and reusable designs facilitates automating development tasks. Frameworks often provide wizards and builders that generate code and reinforce the framework methodology. Wizards and builders improve productivity by reducing the effort to build an application.

Where do Frameworks fit in Application Development?

Frameworks provide a wide range of functionality and services. Frameworks, like Microsoft .NET, provide the basic computing services that developers rely on to build applications. At the other extreme, frameworks provide an entire application. The following three level hierarchy illustrates the range of frameworks:

Software frameworks are the models, templates and libraries that we discussed above. They manage discrete components of applications. Developers use these frameworks to build applications.

Application frameworks are partially built applications or application shells. These frameworks are working applications without business code. Developers add the business code to the framework to complete the application. The Visual LANSA Framework is an example of an application framework. Application frameworks may include the use of software frameworks.

Solution frameworks are completed and working applications. They include both business code and infrastructure code. These frameworks require configuration and integration, and may require a small development effort to add or customize specific business logic. LANSA Commerce Edition is a solution framework for online ordering and inquiry. IBM offers industry solution frameworks, such as for the banking, government and insurance industries.

LANSA and the use of Application Frameworks

The Visual LANSA Framework (VLF) is an example of an application framework. It provides the infrastructure for an application including the security, user interface, search services, business objects management and navigation services.

The user interface includes a set of components common to most commercial style applications. The components are the navigation pane (tree structure), search pane (search criteria), search results pane and one or more tabs for viewing and/or maintaining business objects.

Visual LANSA Framework Example Screen
The Visual LANSA Framework provides the infrastructure for an application including the security, user interface, search services, business objects management and navigation services.

The VLF includes software frameworks to help reduce the complexity of software development. Code assistants are one example of a software framework in the VLF. The code assistants are wizards that lead developers through the code generation process. By answering set of questions and defining rules, developers generate most of the code. They add to the generated code to complete the application.

The VLF also provides services for user management (who is allowed to use the application), authority management (who is allowed to view or edit business objects) and server management.

The VLF incorporates many design decisions, letting developers build applications with a consistent look-and-feel and a standardized architecture.

Applications developed with VLF can be deployed as a client application or as a rich Internet application. The deployment options of the VLF again demonstrate how frameworks reduce cost and remove complexity from software development.

Author:

Richard Lancaster, Product Manager at LANSA's Product Center in Sydney, Australia Richard is LANSA's Technology Evangelist with a deep understanding of development and integration technologies on the IBM i, Windows, UNIX and IBM mainframe platforms. With over 30 years of experience in the technology industry, Richard previously worked as a solutions architect for systems integrators Aspect Computing and the KAZ Group – and held a range of roles from Computer Operator to Systems Development Manager at various banks and insurance companies.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.