Online Tutorials & Training Materials | STechies.com
Register Login

SAP NetWeaver Visual Composer

|| || 0

SAP NetWeaver Visual Composer
Stechies

What mainstream UI tools does SAP offer to create applications on top of its business process platform?

SAP NetWeaver offers two major development toolsets for creating Web-based business application UIs on top of the business platform: Web Dynpro and Visual Composer.

These tools provide both the design time infrastructure and flexibility to facilitate the application development processes and execute such applications within a single runtime environment – Web Dynpro.

In the past there have been other tools for delivering web-based access to business applications such as: BSP (Business Server Pages), PDK (Portal Development Kit), ITS (Internet Transaction Server), and HTMLB.

What is Web Dynpro?

Web Dynpro is a development toolset and a runtime environment for creating business applications that have web-based user interfaces.

Web Dynpro applications can be developed using either Java or ABAP. In Web Dynpro for Java (WDJ), applications are developed within the SAP NetWeaver Developer Studio using SAP’s implementation of the Model-View-Controller design pattern. It allows the programmer to design and build reusable units of code known as components that can be extended with Java coding.

Web Dynpro for ABAP (WDA) applications are developed within the SAP system using the ABAP Workbench (SE80). Business applications based on WDA are more suitable applications that derive their data entirely from R/3 data sources.

Note that for the rest of the document, when mentioning “Web Dynpro”, we are referring to Web Dynpro for Java.

What is Visual Composer?

Visual Composer is a graphical modeling environment designed for the rapid creation of web-based user interface applications.

Visual Composer has been designed to enable people without traditional programming skills to create enterprise application UIs using standardized components that meet SAP standards and quality criteria.

The latest version of Visual Composer (Visual Composer for CE) also introduces new tools for creating portal content (worksets, roles, pages, and iViews), embedding BI data and creating Voice applications from the Visual Composer modeling environment.

What are the complementary capabilities of these tools?

Visual Composer and Web Dynpro have many complementary design time capabilities for creating application UIs with the same professional SAP look and feel. You can find out more about the relationships of these tools in the below diagram:

What are the key considerations before deciding which tool to use?

To determine what tool you should use, your key considerations should include:

What are your business application requirements?
Do you need standard table and form layouts? Or do you need special controls (e.g. calendars, tree browsers) or islands of high interactivity?

From where are you getting your business data?

Are you extracting information from different backend systems?
Do you need to consume data from a variety of complicated services that will require additional manipulation and adaptation?

What type of skills and experience are available for the application development?
Will your application be created by people with traditional programming skills, or do you want a non-programmer to build the application?

Does the backend system supply the business functionality you require?
Can you simply connect to the backend through standard enterprise / web services or RFC? Or do you need additional service façades and / or legacy connectivity?

What are SAP’s guidelines for creating custom application UIs using these two tools?

Step 1 - Create a prototype and simulation of the application using Visual Composer

A non-programmer should start by creating a prototype of the application UI using the Visual Composer elements. The main purposes of creating a user-interface prototype are to:

Validation for the application modeler: enable the application builder to instantly see how the end result will look and behave as he is building it up, validating his work and detecting potential design flaws before the real design and development starts.

End user validation: enable bringing in end user feedback early in the development process

Stakeholder buy in: use prototypes to get a buy in for relevant stakeholders, helping to trigger the actual development project

Developer handover: use the prototype as an additional communication tool for development requirements.

The advantages of using Visual Composer for prototyping are:

Using Visual Composer requires significantly less learning than using Web Dynpro, while having enough capabilities to support meaningful functionality. (Same look and feel, relative layout support, etc.)

No need to understand the backend layer – A non-programmer can simulate the application and define the data flow between the views (forms, tables, etc.) by using simulated (dummy) services.

Note that Visual Composer is not a limited to prototyping, but starting the development project with Visual Composer gives a sense of which part of the application is feasible to implement with Visual Composer and which part requires Web Dynpro.

Should the decision be taken to create the application from scratch with Web Dynpro, then there is no means of converting the Visual Composer models to Web Dynpro code. Nevertheless, the prototype step is crucial since it enables the collaborative work of the non-programmer and programmer and facilitates the definition of the application requirements.

Step 2 - Identify what are the application requirements by using the following questions:
Service layer

What services are the required?

Which action do you want to perform?

Display the output of a service in a single screen?

Join the data from two or more services onto a single screen?

Map the data coming from one service to another?

Manipulate the returned data?

UI layer

Does your Visual Composer prototype contain all the necessary UI elements/views?

Tools integration
What kind of integration with other tools is needed?

How to use these tools to create business processes?

For a composite application implementing a process for one user or one role from the organization you can use both Visual Composer and Web Dynpro.

For a process that involves more than one role or user from the organization you should use a process engine – guided procedures for CE7.1 and SAP NetWeaver BPM for future versions.
The workflow tool determines the process flow between the different roles (and users), while the user interfaces developed in Web Dynpro and Visual Composer are used (and can be reused) for each process step that requires human interaction.

Since Visual Composer CE executed within Web Dynpro runtime, it is very much possible to model some of the application’s UIs using Visual Composer while other using Web Dynpro. From the UI developer’s point of view this means that both screens will have the same look and feel.

How will these tools work together in the future to bring more value and benefits to the customer?

While CE 7.1 is a first step towards providing a cohesive environment for creating composite applications, in CE7.1.1 both the UI and process tools will reside in the NetWeaver Developer Studio (NWDS) and will display much tighter integration.

In CE7.1.1 there will be an additional entry-point to access the Visual Composer models – the Visual Composer will be integrated within the Eclipse and will enable access to the models from the NWDS.

This new entry-point will support integration between Visual Composer and Web Dynpro by providing the option to start working in Visual Composer and, if you reach a point where Visual Composer is unable to provide certain functionality (such as missing views, service adaptation or data transformation), it can be created in Web Dynpro and incorporated as a WD component into to your Visual Composer model. Double-clicking on the WD component from the Visual Composer model, will open the Web Dynpro perspective allowing you to code the needed functionality. Once the coding is done, closing and saving the component will enable the programmer to return to the VC model and combine the Web Dynpro component with the other parts of the Visual Composer model.

To conclude, when all the necessary services for working with back-end data and the views for displaying the data are available in Visual Composer, the task of creating a Web-based front-end can be performed by non-programmers using Visual Composer.
If back-end services or required functionality do not exist, or the business requirements demand that a more complex UI is built, then Web Dynpro should be the technology of choice because it provides the flexibility to accomplish all these goals. However, this also means that developers with Web Dynpro development experience must be available.
With CE7.1.1, the use of custom developed Web Dynpro components within Visual Composer provides additional choices to include areas of high interactivity or more sophisticated controls/ data manipulation into the UI design.

Appendix

The details below refer to the provided support for both Visual Composer and Web Dynpro for CE7.1 and CE7.1.1.

Service Layer

What are the required services?

 

Visual Composer

Web Dynpro

SAP Enterprise Services

CE7.1 - No support for:

 

 

See limitation - 01200314691 000112724 CE7.1.1 – Supported

Supported - Enterprise service model

SAP BAPIs and RFC

Supported

Supported – adaptive RFC model

3rd party web service

Supported

Supported – adaptive Web service model

EJBs

CE7.1 – No support CE7.1.1 – Supported

Supported – Enterprise JavaBean model

JDBC stored procedures

CE7.1 – No support CE7.1.1 – Supported

Supported

SAP BI queries

CE7.1 - Support for:
Queries
QueryViews
InfoProviders
Characteristics (master data)

CE7.1 – No support CE7.1.1 - No support

Non-SAP BI data

CE7.1 – No support CE7.1.1 – Support access to both relational and multidimensional sources through open connectivity standards is planned: XMLA: BW 3.5, BI7.0 MDX Provider, MSSQLServer / Analysis Services 2005 JDBC: MaxDB 7.0 und 7.1, MS SQLServer 2005

CE7.1 – No support CE7.1.1 - No support



Which action do you want to perform?

 

Visual Composer

Web Dynpro

Flat services*

I want to display the output of a service in a UI Element (form, table, chart)

Supported

Supported

I would like to join two or more services and display the output in one screen (Join operation)

Not supported**

Supported

I need to map the data coming from one service to another (service chaining)

Supported

Supported

I want to manipulate the returned data using operators

Supported operators- Filter, Sort, Aggregate, Distinct, Union, Switch

Supported

Complex services*

I want to display the output of a service in a UI Element (form, table, chart)

Supported

Supported

I would like to join two or more services and display the output in one screen (Join operation)

Not supported**

Supported

I need to map the data coming from one service to another

The services share identical topological and semantics structure

Supported

Supported

The services have a different topological or semantics structure

Not supported**

Supported

I want to manipulate the returned data using operators

Manipulate the data coming from a root node (top node of the data hierarchy)

Supported operators- Filter, Sort, Aggregate, Distinct, Union, Switch

Supported

Manipulate the data coming from a child node

Not supported**

Supported

* The definition of Flat and Complex services is as follow:

Flat services – The data structure of the service input/output parameters is composed of fields having a primitive data type (byte, short, int, long, float, double, char, boolean). These fields may be joined together to form a scalar structure known as a record.

Complex services - The data structure of the service input/output parameters is composed of multiple instances of such records structured as tables. Tables may be nested within tables to form what is known as “deep structures”.

** CE7.1.1 will support a break out from the Visual Composer model scenario. This means that if a complex service adaptation or data transformation is needed, the programmer will be able to break out from the Visual Composer model, open the Java EE layer, code the complex functionality and add it to the Visual Composer model as an EJB component.

UI layer

Does your Visual Composer prototype contain all the needed UI elements/views?

 

Visual Composer

Web Dynpro

Yes

The Visual Composer prototype meets my UI requirements

Supported

Supported

No

I need additional controls (e.g. tree, …)

CE7.1 - Not supported CE7.1.1 – WD component support***

Supported CE7.1.1 – Flex chart island (Bar, line, Area, Column and combo chart) support

I want to create custom controls or extend existing ones

Not Supported

Not supported

Formatting

Not supported

Supported

Styling (portal theme editor)

Basic support

Basic support

*** CE7.1.1 will support integration of Web Dynpro components in the Visual Composer model. This means that if certain functionality or a UI element is needed, the programmer will be able to open Web Dynpro, code the missing functionality and add it to the Visual Composer model as a black box component.

 

What kind of integration with other tools is needed?

 

Visual Composer

Web Dynpro

NWDS integration

CE7.1.1

Supported

CAF

CE7.1 - CAF web services support

CE7.1.1 – CAF web services & EJBs support

CAF web services & EJBs support

Portal

Add Eventing (EPCM) to the application

CE7.1.1

Supported

Run the application in the portal as iViews

Supported

Supported

Interactive forms by Adobe

Not supported

Supported

Flash Islands

CE7.1.1

CE7.1.1

SAP NetWeaver BPM

Not supported

CE7.1.1 - Supported

Guided Procedure

Supported

SAP Note 1110880

Supported

Mobile

Not supported

Supported

BeX WAD

Integration via URLs

Integration via URLs

NWDI

Team Work (check in, Check out)

Supported

Supported

Build and deploy

Supported

Supported

Versioning

Supported in the NWDS version of Visual Composer Not supported in the Browser version of Visual Composer

Supported

Track support

CE7.1.1

Supported

Modification

Not supported

Supported

Extension

Not supported

Supported

Transport

Supported

Supported


Related Articles