Multi Channel Foundation for Utilities SAP-ISU
Here I would like to provide an implementation approach for MCFU which I have done for one of the major utility company. When I searched thru web, did not find many that help me to do this. Hence I though my experience might help others too.
This will definitely help you to get started on how to integrate ISU with FIORI and can be integrated with any cloud solution.
Let us get started……
What is MCFU
SAP Multichannel Foundation for Utilities and Public Sector is a customer-facing solution based on SAP Net Weaver Gateway. It allows utility companies to interact with their customers through different communication channels, for example, the Web (online self-services), mobile, and social networks. SAP Multichannel Foundation for Utilities and Public Sector provides a set of standardized and reusable OData services that are used by end-user applications to access data and processes from SAP Business Suite for Utilities and Public Sector.
The standard services consist of self-service scenarios that enable customers to securely access and manage key account information and perform important activities online, like bill payment, entering meter readings, creating inquiries, and sending requests to a utility company.
A Web application template for customer self-services is also included with the solution. The UIs delivered with SAP Multichannel Foundation for Utilities and Public Sector serve as templates, which provide a set of standard features that need to be tailored to your specific requirements for productive use.
In simple terms, MCF solution consists of set of OData services in SAP system (exposed through gateway, developed in CRM or ECC systems) and UI Template (Consumer of OData Services).
OData Services, REST, and SAPUI5 explained
- REST Architecture: Representational State Transfer, a new approach to systems architecture and a lightweight alternative (e.g. OData) to web services.
REST is an architecture style for designing networked applications. The idea is that, rather than using complex mechanisms such as CORBA, RPC or SOAP to connect between machines, simple HTTP is used to make calls between machines.
SOAP is for people in business suits; that’s what you’ll find used in the banking and finance industries. Conversely, somebody that needs something up-and-running quickly, with good performance and low overhead, is often better off using REST.
- OData Services: OData (Open Data Protocol) defines the best practice for building and consuming RESTful APIs. OData helps you focus on your business logic while building RESTful APIs without having to worry about the approaches to define request and response headers, status codes, HTTP methods, URL conventions, media types, payload formats and query options etc.
Unlike UIs in SAP, UI in MCF is SAPUI5 (HTML5 specific for SAP) based. It means that it can be as cool and jazzy as other web apps over the net. There are no limitations as far as UI development is concerned as there is not any standard SAP code or framework to be changed.
SAP MCF comes with out of the box UI template. It is recommended to use this template as the stepping stone of the implementation. This template can be changed extensively to a point that end product will appear completely different from standard template. The main advantage of using the template is that customer (or client) can easily group processes together e.g. all payment and transaction related processes can be seen under one tile (Link) ‘My Bills and Payments’.
It is advisable to involve UI design team early so that they can propose a UI theme e.g. (not exhaustive)
- Home page menu,
- Page templates,
- Message format,
- Pop up/dialog format
- UI Fonts, controls (buttons, picklists, etc.)etc.
During our implementation, we followed iterative process for requirement gathering and delivery. We proposed a screen flow which was created through MS-VISIO. This helped customer to understand the process and screen flow better. Visio was just indicative of screen flow and not the actual UI or pages developed.
Please bear in mind that almost everything can be achieved from UI perspective but other factors such as time for delivery, team size, and budget etc. must be taken into consideration.
Server side development or OData service development (functionality)
Traditional iterative or waterfall approach can be used to gather requirement and deliver. In our case customer was not much keen on functionality as we were referencing the logic from current UCES and goal was to achieve the same functionality.
There are two options:
SAP Web IDE
- Browser-based (Web) toolkit available on SAP HANA Cloud Platform
- An Integrated Development Environment to create new SAPUI5/HTML5 or custom Fiori apps and extend SAP Fiori apps resp. SAPUI5 apps
- Provides standard Web development tools like code editors, wizards, and WYSIWYG tooling that are optimized for building responsive apps with SAPUI5 (e.g., code completion)
- Application templates act as the foundation for highly efficient app development
- Widely accepted IDE for any cool and jazzy things e.g. mobile apps, web apps, and native apps, etc.
We followed agile development methodology, which means more user requirement and experience discussion sessions during the project. Every discussion session we demo the function and collect user feedback and requirement. Then modify the APP and function and prepare for the next demo session. Eventually the developers and business user reach common agreement with the APP.
Agile approach is recommended as business always face difficulties in visualizing the complete UI designs in advance. End product may surprise them, leading to more work. It is better to show them a prototype and then build upon that prototype.
- OData service debug: during development phase, MCFU_SRV_USR (user for login OData services) and MCFU_REF_USR (User assigned to customer id in system for OData services other than login) can be given debug authorizations. To debug login OData services such as user verification, activation, developers just have to put a breakpoint in the ABAP code with MCFU_SRV_USR. To debug other services, just put breakpoint in the ABAP code with test customer’s user id (not alias but user id).
Web App Debug: inbuilt development tools of a browser can be used for UI debug. Chrome has inbuilt debugging tools. Fire Bug, add on for Fire Fox, can be used for debugging as well.
Architecture(Prototype from a Utility Company):
Ref: MCF Admin Guide
Hope this helps you to get started with MCFU.