IFS Cloud Platform¶
The IFS Cloud Platform is the collection of capabilities used by IFS to develop the IFS Cloud product, and by customers or their delegates to compose, tailor, manage, and use a specific customer solution based on IFS Cloud.
In this "markitecture" picture we see several of the capabilities (in green) provided by the IFS Cloud platform, such as browser based and mobile user interfaces; technology that provides open APIs that customers use to extend and integrate with IFS Cloud; and platform services ranging from scheduling and machine learning to reporting, support for cloud and remote deployment models. In addition the IFS Cloud platform also provides capabilities that support customer solution tailoring, management throughout the entire lifecycle, and of course development of the IFS Cloud product and business functionality itself.
The customer solution is the IFS Cloud solution as used by a customer and as managed within the scope of IFS Lifecycle Experience. It includes the choice of solution set for the core IFS Cloud as well as tailorings (configurations and any customizations).
The solution set is the subset of capabilities from IFS Cloud selected by the customer to be included in their solution. The subset of capabilities selected will include a list of components that are to be enabled and available for use within the solution.
For the purpose of this documentation, "customer solution" does NOT include software or configurations that the customer manages in other systems and/or is deployed outside the scope of the IFS Cloud Use Place environments. Although the customer might use such things together with IFS Cloud, they are not considered part of the IFS Cloud customer solution.
End users access IFS Cloud through one of the provided user interfaces. Each user interface is designed to provide users with an efficient working environment and a delightful experience, catering to different personas and contexts where they are used. The key user interfaces for IFS Cloud are:
- IFS Cloud Web is the main interface for end users of IFS Cloud. It provides access to virtually all functionality through browsers such as Chrome, Edge and Safari on devices ranging from desktops and laptops to tablets and phones. IFS Cloud Web features Lobby (at-a-glance overview) start pages, a rich set of UI patterns, and a responsive design that automatically adapts to display size and orientation.
- IFS Cloud Web B2B is the same technology and experience as IFS Cloud Web, but targeted for B2B collaboration scenarios. When logging in to IFS Cloud Web B2B users only see those pages and capabilities that have been designed for use in B2B (rather than B2E) scenarios.
IFS Cloud Mobile is the user interface offered through native apps on iOS, Android and Windows devices. Examples include deep industry functionality apps such as IFS Mobile Work Oder (MWO) for Service, along with casual user apps such as IFS Notify Me. IFS Cloud Mobile uses native user interface controls and interactions on the respective mobile OS, has offline sync capability, and deep integration with on-device capabilities.
Office Add-ins are supporting specific personas and tasks such as opportunity and contact management with the IFS CRM add-in for Outlook, or business reporting and planning through the IFS Business Reporter add-in for Excel.
- Specialized experiences support specific tasks or personas. Examples include the Outbound Message Viewer for integration scenarios or IFS Time Clock as a software replacement for physical reporting terminals.
IFS Cloud Web, IFS Cloud Mobile and other user interfaces all build on the IFS Design System to provide a consistent experience to users which is both effective, efficient and evolves over time.
In addition to user interfaces provided with IFS Cloud, it is also possible to build your own user interfaces using a platform of your choice in combination with calls to our open APIs to access data and functionality in IFS Cloud. Doing so is an example of extending on the outside, which you can read about in the tailoring guide.
Tailoring is the process of adapting, or tailoring, the standard IFS Cloud solutions to fit even better for a specific business. It typically involves performing configurations (e.g. of the user interface or process automation), developing reports and integrations, and where motivated, also perform customizations to extend or change aspects of the solution.
There are three principal ways by which customers can tailor their solution:
- Configure: Use consultant and power-user friendly no-code designers and tooling to extend the data model, change the user interface, automate processes and more.
- Extend on the inside (Customize): Use the IFS Cloud platform and IFS Developer Studio to customize the customer solution by adding or changing functionality.
- Extend on the outside: Using IFS Cloud APIs along with low code development platforms, integration platforms, or just developing custom clients and integrations using the technology of your choice. These are then operated outside the scope of the IFS Cloud deployment.
Tailoring follows the principles of the IFS Layered Application Architecture (LAA), which caters for separation of concerns and ownership.
Check out the tailoring guide to learn more about how to tailor the customer solution.
Lifecycle Experience refers to the collection of services and tools used to manage the customer solution through its entire lifecycle, with a focus on the build phase and the resources in the Build Place. This includes topics such as creating deliveries for the Use Place, applying service and release updates, creating and managing environments used for quality assurance of deliveries as well as customization development and testing.
Customers access the lifecycle experience services through the IFS Lifecycle Experience portal. Customers can delegate access to IFS and partners to perform certain lifecycle experience roles (e.g. development) on their behalf.
IFS Cloud is updated on a regular cadence. In order to separate pure servicing from roll-out and adoption of new features, two types of updates are used.
- Service Updates (SU) are monthly cumulative sets of high severity/priority fixes for a release update. Service updates do not introduce new functionality or changes, nor do they break any APIs or data models except in the very few instances where doing so is neccessary to fix a high severity bug.
- Release Updates (RU) are twice-yearly updates containing new functionality as well as cumulative fixes of all severities/priorities.
Each release update receives service updates for a period of time that is longer than the time between release updates. This provides customers a degree of flexibility in terms of when release updates are adopted into the customer solution, which is key to enable a customer chosen evergreen strategy. The specifics of this are set out in the product lifecycle policy and reflected in the support policy.
Designed for Evergreen¶
Different organizations assign different meanings to the term "evergreen" as it relates to software and IT strategy. In the context of IFS Cloud and the IFS Cloud Platform:
Evergreen creates value for your business transformation by providing rapid access to continuous software innovations and improved experiences for your people and organization. Achieve an Evergreen state with IFS by regularly adopting updates to IFS Cloud on a schedule under your control.
The value includes new customer validated functionality delivered through release updates (RU). Improvements to user experience, quality (including performance improvements and addressing security vulnerabilities) is delivered through service updates (SU) as well as release updates.
The IFS Cloud Platform and supporting product policies are designed to allow customers to choose the evergreen strategy for IFS Cloud that is right for them.
- Cadence: It does not matter if the strategy is to adopt one or two release updates per year as long as it a predicable schedule that you follow as a matter of routine. For example, a customer could decide that their evergreen strategy is to "adopt one release update per year, during the month of July when business is slower". The predicable nature means it becomes a repeated and plannable process that is optimized over time, rather than one-off decisions about everything from timeframe to budget and resources.
- Tailoring: It does not matter weather the customer solution includes tailorings as long as the handling and carry-forward of any included tailorings is considered and planned into the repeated and predicable schedule.
- Deployment model: It does not matter of the cloud or remote deployment model is used. The lifecycle experience, product policies, supporting tools and advice are the same.
As a general advice, in order to get the most value-for-effort out of an evergreen approach with IFS Cloud:
- Minimize tailorings and in particular customizations. Less tailoring will reduce the effort needed to carry them forward across updates, in terms of any adjustments needed as well as in terms of solution testing.
- Choose the right type of tailoring and use wisely. Make sure you understand the advice provided in the tailoring guide. Consider the expecations set forth in policies such as the API usage policy.
- Think recurring rather than one-off. When deciding to add a tailoring or any other aspect such as end-user work instructions, consider the fact that you will at the very least need to assess the validity of those things for future updates, and possible undertake some work to make sure they remain current.
IFS Cloud Platform provide product capabilities, architecture, processes and supporting tools to help customers with their evergreen strategy. Examples include the use a Layered Application Architecture (LAA) to separate configuration and customization from core; update, configuration and lobby analyzers to asses the impact of a release update; and specific capabilities in our Designers such as the rebase functionality in IFS Page Designer to carry forward UI changes. This is complemented with product policies, release documentation and enablement materials providing information about what is new or changed.
Designed for always secure¶
IFS Cloud is designed to easily apply latest security patch version of the Middle Tier. IFS continuously scans all IFS Cloud containers and code for known third party security vulnerabilities (CVS's) and apply appropriate updates to all third party libraries and applications. Each delivery from Build Place will automatically include the latest available Middle Tier security patches at the time of delivery creation. It means that all IFS Cloud application containers can be replaced with the latest container version. If no deliveries has been applied to an environment in a long time, it is also possible to update an environment to the latest security patch level by manually download and deploy it, using the latest IFS Cloud installer. Deploy latest security patches
Development of the core IFS Cloud application is done by IFS R&D. Customers and implementation partners have the option to develop customizations for the customer solution by using the same IFS Cloud platform to add, extend, or override functionality to the customer solution. Think of it as using the IFS Cloud platform as a service in order to extend the customer solution.
Development using the IFS Cloud platform is primarily done in a model driven low-code environment using the IFS Developer Studio Integrated Development Environment (IDE) in combination with the Marble domain specific language for presentation, api and storage tiers. For the business logic tier, Marble is used together with PLSQL and Java.
Check out the Development Guide Overview to learn more about how to develop the Customization or Core application layers.