Application Development
Application development is all about developing software applications that address the specific needs of a group of users. In enterprises, application development is used to develop applications that support the business needs, with the ultimate goals of decreasing operational costs, improving efficiency and ultimately increasing revenue. Web application development has been growing in importance inside enterprises and today most companies use a variety of enterprise web applications built with the latest web application development tools.
Since 2001 OutSystems has been focusing on simplifying and accelerating the way companies develop, deploy, manage and change web applications. The Agile Platform is a web development tool that gives IT professionals all the required tools to quickly develop complete web applications that are robust and scalable, and that can be easily changed to accommodate new business requirements.
Web Application Development
Web application development has been growing in importance due to the ubiquity of internet access and the convenience of using a web browser as a client (usually referred to as thin client). By using web application development, companies can release new versions of those web applications without having to distribute and install software on client computers. This decreases roll-out time and cost, especially in companies with thousands of employees.
Successful web application development must encompass the entire life-cycle of web applications, including the development, deployment, monitoring and management, change and maintenance of web applications. The OutSystems’ Agile Platform offers all the tools that IT teams need to support web application development and maintenance across their entire life-cycle.
-
Model Driven Development (MDD) focuses on creating abstractions that are closer to the particular domain concepts of web applications. As a result, the amount of hand-coding of web applications is reduced, allowing for higher productivity. Also, by using model representations of web applications, knowledge transfer between developers is largely simplified, and the learning curve to master the technology is reduced.
-
Rapid Application Development (RAD) is a type of software development that favors rapid prototyping, using tools that generate the appropriate application code to implement the desired functionality. Rapid Application Development increases team productivity and is key to the adoption of Agile Development methodologies.
By combining Model Driven Development and Rapid Application Development, OutSystems has created a new and unique approach to web application development. Developers use a visual IDE to model all layers of their web applications, whose code is then automatically generated as standard .NET or Java to run on standard application servers with no proprietary runtime components. As a result, the Agile Platform shields developers from the low level technical hassles of web application development, generates standard web applications that run on standard servers, and allows for the rapid prototyping of applications that are easy to maintain and evolve into a robust, scalable and complete web application.
Enterprise Application Development
Besides the base requirement of developing applications that correctly address the business and users needs, Enterprise Application Development also deals with ensuring that web applications are secure, robust, scalable and manageable.
-
Application Performance: In typical enterprise application development projects, there is never enough time to add all "hooks" to track and detect performance issues, nor to minimize memory or network requirements. Application performance is critical for large scale web applications. You also need tools that automatically isolate and show where the bottleneck points that hurt your application are. The Agile Platform automatically optimizes all application aspects so you don’t have to rely on detailed expert knowledge or buy/run profiling tools to detect optimization areas. It also helps quickly identify slow web pages, database accesses and web service calls to make the necessary application performance corrections.
-
Application Security: Ensuring web application security is not an optional requirement. Unfortunately, doing this well takes a lot of time and effort, as well as in-depth knowledge. By including application security as an integral part of the Agile Platform modeling language, we’ve made it an organic part of the development process. This ensures that your applications use the right authentication, encryption and access control levels and technology, with minimum effort.
-
Scalable Architecture: If your infrastructure requires you to deploy your web applications in more than one hardware server (either for scalability reasons or for higher availability) you are up for a big challenge. To have a scalable architecture you’ll need teams of savvy infrastructure staff that can move all components into multiple hardware nodes simultaneously, while at the same time upgrading the database model, processes, batches and web services. The Agile Platform automates this whole process, simplifying it and reducing it from days to minutes.
Custom Application Development
Custom application development offers the means for companies to innovate and differentiate from their competition. By developing applications that are purpose-fit to the specific business needs of each company, enterprises are able to devise new and improved ways of operating their business, instead of being restricted to the limited and inflexible feature set of packages.
The Agile Platform has been built from the ground up to effectively support custom application development. Developers can quickly create working prototypes of web applications and show them to end-users to get their feedback. During the project and after the application goes live, the cost of making changes is extremely low, making it possible to constantly tune the web application and include new functionality. This is possible because the cost, effort and risk of custom applications development with the Agile Platform is largely reduced. The Agile Platform effective makes custom application development a viable alternative over packaged software.
Agile Development is a cornerstone for effective custom application development. Agile Development promotes fast delivery of tangible results to customers through iterative application releases that allow the business to provide feedback to be used in business-driven feature prioritization. It also increases IT and business alignment by focusing on only delivering the functionality necessary to meet business goals. Agile Development ultimately realizes benefits in productivity, quality and return on investment and improves responsiveness to change. The Agile Platform is perfectly suited for an Agile Development methodology since it allows IT teams to speed up application development while keeping the cost of change constant during the entire project. Using the Agile Platform in conjunction with an Agile Development Methodology results in custom enterprise web applications that effectively address the business and user needs, that are delivered on time and in budget, and that are scalable and robust.