Groundwork and scaffolding at the same time: aiticon's application platform appNG is both a framework for quick web application development and the application server, on which the application runs, at the same time.
Many functionalities frequently needed in web applications are provided "out of the box" by appNG - they don't have to be developed individually. Because of its modular structure and its crystal clear separation of layers, this unique Platform as a Service (PaaS) can be used for example as back-end service for smartphone apps or any other applications as well.
By aggregating information and processes and integrating applications into a single platform, appNG helps enterprises to effectively apply their knowledge and slim their processes - in short, become more efficient.
Most programs or applications used to support workflows within enterprises hold one big problem for their user: They are not reasonably interconnected. Every program has its own interface, users have to separately sign into each one, there is no chance to search all applications at the same time, badly maintained and duplicate information has piled up in content silos, important info is stored in separate Word- or Excel-files.
Plus, even today, very few business applications can be displayed on mobile devices - and with employee's constantly growing mobility at that. In order to only maintain conventional applications' operation, specialists are often needed; installing and updating applications is extremely complex; thus, many enterprises are unable to keep their applications up to date.
Aimed at agility
When developing or advancing individual software, users' and developers' needs have to be brought in line with a lot of effort - otherwise, development might not meet the aspired target or the process takes so long that the target has shifted in the meantime.
Many enterprises try to get on top of their IT chaos by training their employees, by forcefully using a single application, even if it is suboptimal for some purposes; by integrating separate programs with enormous effort or outsourcing their application management.
A new era of web applications
Distribution, Operation and Installation of web applications didn't significantly change over the last ten years. Automating this process has theoretically become feasible, but it requires a lot of effort within the IT department. This is where appNG comes into play - by raising web applications' common denominator to the next level.
The essential technical idea behind appNG is that due to clear separation of layers, business logic development can be carried out independent of its representation. It provides view-templates that simulate a uniform representation for all applications. As and when required, single applications can rewrite or edit the existing templates for more complex representations.
Data is stored representationally neutral and can be rendered in various formats (e.g. HTML, PDF, XML, JSON) and/or various representations (e.g. HTML Variant 1, HTML Variant 2, PDF Variant 1, PDF Variant 2). Developers are supported by an integrated debug mode as well as extensive logging.
Any number of applications can run within one appNG instance. Those can be bundled into sites - depending on their usage. Thus, only one appNG instance has to be administered. An appNG cluster can be built on demand. New applications and updates can be provided via a uniform interface in just a few steps; neither do text files have to be edited, nor does the application server have to be restarted.
Applications and sites have a very extensive and granular concept of groups, roles and authorizations at their disposal, which makes allocating authorizations both easy and efficient. appNG provides several options for user authentication: form-, NTML and digest-based authentication as well as SAP Logon Ticket Authentication. Further authentication mechanisms can be implemented individually and on demand.
The source-XML describes the application's structure and how the unique components provided by the business logic are "wired", respectively. Essentially, business logic implements two of appNG's key components: data sources and actions. A data source provides data of arbitrary origin in a standardized shape. This data can come from a database, a data system, an XML file or from a web service.
They are not changed, but only rendered (read). An action changes data. Thus, actions can create, update or delete data. Actions can trigger other processes, too, like start a data import or store the order within a data set that has manually been altered by a user. Actions can be organized into events. Further components, as implemented by the business logic, are web services or the search function within one application.
Java business logic and source XML
An application's structure is, as aforementioned, specified by the source-XML. That means that an application's structure can solely be changed by modifying the source-XML, as long as the business logic standing behind it doesn't change. Development of the business logic (Java) and the source-XML can thus be done separately and by different persons, too.
The business logic is executed based on source-XML. From this follows target-XML, which is then transformed into the target format (e.g. HTML) by XSLT. appNG executes the actual transformation based on the templates chosen. For more complex representations, which the template doesn't contain or which are supposed to differ from the representation set by the template, an application can rewrite existing templates.
What practical value does all that hold for your enterprise? From now on, your team only works with one uniform user interface, set in your company's corporate design; thus, they only have to learn one operational concept. In this browser window - the application is web-based - each employee signs in exactly once und then gets exactly the information from all integrated systems that is specified for his or her department and position.
A simple keyword search speeds up the search for certain data and documents. No matter if it's at a computer, tablet, smartphone or within another application: appNG can display the exact same content on each of those. If required, new applications can be added or existing ones can be updated with little effort - several times a day, too, instead of only once a quarter. Maintaining the systems becomes considerably easier: those applications that are required can be chosen, installed and updated from an application directory - by non-technical staff, too.
Agile per definition
An enterprise's way to this kind of solution is, thanks to the tools of agile development, surprisingly short. Based on the users' needs, our technically accomplished experts create a prototype - initially without any programming effort (key word: Rapid Prototyping). By means of this prototype, that already runs on the appNG platform like any other application, we work out exactly which functionalities are required, for which individual step, in which department.
Finally, the prototype bit by bit becomes the fully functional application. Numerous often needed functionalities like a user interface with multi-language support, authentication and authorization, navigation or search function are waiting in the wings within appNG and can be used with minimal effort.
Naturally, there are other providers in that area. appNG, though, decisively differs from the competition in several aspects. While most other producers only offer hosted solutions, appNG can be obtained as a service and can be operated by customers themselves. This gives the user the option to establish private "clouds" based in appNG for their sensitive data within their own data centers.
One in our opinion key disadvantage with other solutions: They usually don't offer individual user interfaces. appNG, on the other hand, allows for a uniform visual appearance and thus better usability, as well as easier access from various end devices.
Rapid Prototyping and high code-quality based in a clear Separation of Concerns (SoC) shorten development time as well as time-to-market. Additionally, appNG provides deeper integration than other PaaS services, like for example a keyword search through all applications.
Intuitive to use
appNG is notably intuitive to use: applications are provided, installed and updated in an application directory - very much following the "KISS" approach: "Keep it simple, stupid"!