Enterprise application development has never been more difficult and pressing. In the race to deliver, some of the complexities are left too late into the project causing budget overspends or worse, complete failure of the project. The complexities are things that separate the needs of the enterprise from those of standalone software applications.
If an application is going to work for an enterprise, developers need to have thought about, and designed for, four key areas:
• Security and Control
Scalability is obvious
Whether few or many are using the application, performance, availability and reach need to satisfy. As applications (especially on the web), extend into supply chains and incorporate the needs of suppliers and customers, scalability concerns are magnified. Not only does the application functionality need to work well, but performance also needs to be good and so does the user experience. This is especially true for applications that grow in scope. For example, an application that began life as a small departmental solution only, whose success has led to it being rolled out to a much wider audience.
Cloud deployment is often seen as a way to easily extend reach and scale for enterprise applications. Well-designed cloud apps can focus on being small and distributed rather than monolithic and complicated.
Management is an area often overlooked
Where user profiles need to be managed either for identity purposes or by role, administration tools need to be provided to manage not just the users, but the groups they belong to. Ideally, they would integrate with a directory service or similar solution already in use, that can provide such functionality.
Enterprise applications often require hierarchical relationships to efficiently manage functionality delivered to different groups. When a user’s role changes, moving them from one group to another should be all that’s needed to give them the functionality they need in their new role. Having to independently manage user profiles on an application-by-application basis is not practical for enterprises. It simply doesn’t scale.
Integration with existing and new systems is a vital element for any enterprise application
Modern web-based apps rely heavily on microservices using REST APIs to exchange information and integrate with systems over the Internet. Often though, there are older systems to integrate with where modern interfaces may not be present. Either this means additional development effort is going to be required to create these interfaces or additional methods of integration will be necessary. In addition to web service integration using REST, SOAP and XML Web services the following integration methods may also be necessary:
• Data Formats (XML, JSON, XLS(T), PDF, CSV, TXT, EDI, Zip etc.)
• Direct Database Access (All relational and non-relational databases)
• Direct Calls to Executable Code (DLLs, EXEs, JAR, .NET components, ActiveX, etc.)
• Direct Calls to Transport Protocols (HTTP(S), FTP(S), (S)FTP, SMS, SMTP, POP3, AS2, AS3, SSH, etc.)
• Messaging (ActiveMQ , WebSphere MQ, SonicMQ, Tibco etc.)
Security and Control is an upfront requirement that cannot easily be added retrospectively
The effect of lax security and data breaches has been widely publicized in the press. Ultimately it undermines the confidence of the users, not only in the application, but the company providing it. Losing the faith of internal users or external customers and suppliers can prove a serious blow, especially when the data is of a sensitive nature. Giving IT the control over security, data flows, access and integration needs is necessary in order to make sure everything runs smoothly. IT needs control in order to provide accountability so many enterprises demand.
A standards-based API approach using SOAP or REST not only allows for easier integration with databases, but it also helps in the area of security and control by easing interoperability with identity management, directory service, middleware platforms and other systems.
Tying all these requirements together requires an application development platform that takes into account all of these needs whilst keeping the focus on what’s really required – getting applications to market quickly. That’s where low-code development platforms and Visual LANSA, in particular, shine. A good low-code platform lets you focus on getting applications built significantly faster than traditional methods while also enabling the wrapping of the application with the scalability, management, integration and security and control that’s needed. In addition, the low-code platform delivers accelerated speed with reduced need for the usual in-depth skills required with traditional development methods.
Visual LANSA provides the means to deploy on-premise or in the cloud with extensive integration options for existing and new systems. It’s the perfect way to build not only the functionality an application needs but the services enterprises require to successfully put that application into production.