Emerging technologies, such as mobile applications, cloud computing, and in-memory-based solutions, provide new ways for companies to think about, design, and implement custom applications on a variety of platforms and frameworks.
With all of these innovations becoming available, it’s no surprise that so many questions at SAP TechEd 2011 focused on custom development tools and infrastructures and how SAP will help customers leverage these new technologies. After all, custom development options allow customers and partners to build extensions to SAP’s solutions that interface with external solutions and include industry-specific components.
In this article, I’ll provide an overview of SAP’s strategy for supporting these trends and accelerating innovation, and explain how SAP NetWeaver helps you meet your custom development needs in all of these areas of innovation.
Paving the Way Toward Mobility
The mobile market is growing rapidly, especially with the popularity of smartphones, tablet computers, and other devices. SAP recognized this trend early and is helping its customers keep pace by paving the way toward the adoption of these emerging technologies with new and enhanced solutions, infrastructure support, and tools that support custom development.
With the acquisition of Sybase, SAP entered the mobile market from an infrastructure perspective. Sybase Unwired Platform is the leading platform for managing mobile devices at an enterprise level. On the client side, SAP builds and delivers new mobile apps, such as SAP Mobile Sales and SAP Mobile Service, which you can download from app stores. These apps enable users to connect to the SAP back end and, via the collaboration tool SAP StreamWork, leverage social network computing. Many SAP mobile solutions have also started to integrate SAP StreamWork to facilitate collaboration in the product life cycle, sales order management, and financials areas.
This back-end access to SAP solutions is powered by SAP NetWeaver Gateway, which acts as a bridge between the mobile clients and an existing SAP solution landscape.1 SAP NetWeaver Gateway is built on the Open Data (oData) protocol (see sidebar),2 an HTTP-based protocol that SAP has extended to better represent business data by means of special XML tags for the various business entities. With this approach, the interaction between the client and the back-end server resembles how an end user would browse web pages. In a sales order management application, for example, SAP NetWeaver Gateway might present an overview page of orders from which you can navigate, drill down to line items, refer to the customer master or material master, and so on.
So what does all this mean for custom development of mobile applications? Prototyping a custom application is easy. Tools like Visual Studio from Microsoft or Xcode from Apple are available to automatically generate user interfaces (UIs) that follow the design of the underlying SAP NetWeaver Gateway model.
Note: To incorporate existing business functionality contained in function modules or ABAP classes into applications developed with these tools, you will need to wrap the function modules or classes in an SAP NetWeaver Gateway-compatible form; in other words, you will need to implement the corresponding ABAP interfaces and register them in SAP NetWeaver Gateway so that the tooling environment can consume the services.
Expand Your Reach with Cloud Computing
Cloud computing — one of today’s hottest technology trends — offers significant advantages in the area of custom development with its scalability, cost-effectiveness, and flexibility. There are three main service delivery models that meet a variety of infrastructure and lifecycle management, software and application, and development platform needs: infrastructure-as-a-service (IaaS), software-as-a-service (SaaS), and platform-as-a-service (PaaS). SAP provides a range of support that covers each area.
The popularity of cloud computing originates from its infrastructure capabilities (IaaS). Virtualization reduces TCO and offers resource flexibility by enabling companies to replicate physical hardware and run multiple operating system versions simultaneously on a physical box. SAP NetWeaver Landscape Virtualization Management (which is currently in ramp up) uses virtualization and IaaS cloud technology to help customers deploy and manage resources and application capacity with ad hoc flexibility, and provides open interfaces that allow you to run your custom-developed application services in your private cloud, SAP’s cloud, or public clouds.
A natural extension to outsourcing infrastructure management to the cloud is running complete, ready-to-use applications in the cloud via the SaaS delivery model. SAP Business ByDesign is a SaaS-based solution built on a platform of reusable business objects. It provides a complete, integrated application suite covering financials, logistics, and customer and supplier relationship management. All of the costs of running the application fall on the cloud provider’s side, freeing the consumer from the burden of running, operating, and maintaining the infrastructure and solutions running on top.
SAP Business ByDesign also includes a development kit and tooling infrastructure (see Figure 1) based on Microsoft Visual Studio; this kit enables software partners to extend the SAP Business ByDesign platform, build custom applications and reports based on its programming model, and publish them, ready for deployment, in the SAP Business ByDesign store.
||The SAP Business ByDesign development kit and tooling infrastructure
Another facet of cloud computing is the PaaS service delivery model, in which the provider offers tools and a development platform so that users can develop code without having to maintain a development infrastructure. They can then deploy the code to the cloud so that others can use it in their applications. To provide this capability, SAP is developing a new PaaS-based platform offering for the Java community.
With the open, standards-based approach of this new community, intended for go live in 2012, a developer can enter SAP’s cloud — provided by SAP StreamWork and other on-demand solutions — and access a local development environment based on Eclipse that seamlessly connects with the cloud-based development infrastructure. The developer can then create a new development project — say, a simple web application — and test it locally on the lean Java stack.3 Once the application is deployed to the SAP cloud, a virtual machine will be provisioned out of the cloud that runs the application in a secure fashion. This new platform offering includes SAP services for use with custom development, including identity management based on SAML 2, a persistence service to leverage SAP HANA in-memory computing out of the box, as well as the ability to support emerging technologies, like JavaServer Faces (JSF) and HTML5.
Note: ABAP in Eclipse also provides back-end compatibility to SAP Business Suite-based systems. The idea is not to replace the classical ABAP Workbench (SE80) and development artifacts such as Web Dynpro, business server pages, ITS services, and business add-ins — the idea is to focus on the new type of in-memory-based applications while providing code-based access to existing development artifacts of classical systems that are in the landscape context of the new applications. A customer engagement initiative is currently under way to determine the optimal scope for this particular use case.
Developing for the Future with In-Memory-Based Technologies
In conjunction with mobile and cloud computing, in-memory-based applications will likely revolutionize the way companies develop applications in the coming years. One reason for this is the huge amount of data you can process with in-memory-based applications. Applications that previously ran for hours can now run in seconds, and since no index information is present on disk, you can perform deep analysis on data. SAP is also bringing in-memory processing capabilities to its customers via solutions and development functionality.
In-memory computing evolved from databases that organize data by column rather than by row. Row-based models lack performance and flexibility when it comes to aggregation and reporting. Analytical software, such as SAP BusinessObjects tools and SAP NetWeaver Business Warehouse (SAP NetWeaver BW), is suited to columnar processing since columns can be easily aggregated, leveraging the multi-core capabilities of the underlying processor hardware and using caching hierarchies to leverage execution and space locality.
SAP has already tapped into columnar processing with SAP NetWeaver BW Accelerator, which optimizes query execution in classical SAP NetWeaver BW landscapes. The in-memory database platform, SAP HANA, goes further, providing full database capabilities. Compared to a classical relational database, SAP HANA offers full SQL and MDX support, a calculation engine, and SQL scripting that helps developers write stored procedures. With this approach, much of the code that was typically executed on the application server to avoid excessive database accesses over the network can now be executed within the SAP HANA database, allowing more options for distributing workload between the application and the database level. The SAP HANA studio, which is a set of Eclipse plug-ins, allows you to define analytical and calculation views to analyze massive amounts of data in real time.
Leveraging in-memory capabilities in custom applications requires rethinking how the application server interacts with the underlying in-memory database. You need a lean ABAP stack with no compatibility burdens and a design-time environment that can combine with the SAP HANA studio for an integrated tools approach.
Using the knowledge gained from optimizing the ABAP stack for products like SAP Business ByDesign, SAP has developed a new ABAP stack (which will be available as an application in SAP Business ByDesign in 2012) that compiles quickly, optimizes startup time, and comes with built-in features for business continuity, such as rolling kernel updates.
To meet design-time environment needs, SAP is developing ABAP in Eclipse (see Figure 2), which is intended to be the standard platform for developing a new category of in-memory-based applications powered by SAP HANA. These applications will extend the classical SAP Business Suite. By combining ABAP development with SAP HANA modeling, developers will gain a seamless tooling environment that leverages all Eclipse features for both worlds. ABAP in Eclipse is planned for the next major release of SAP NetWeaver.
Innovating for On-Premise Solutions
With this brave new world of mobile, cloud, and in-memory computing, you might be wondering, “What happened to the on-premise world? Will any of this innovation benefit my on-premise solutions and custom development capabilities? And how will it affect my business?” Rest assured that SAP will continue to innovate for on-premise solutions, including supporting their integration with mobile, cloud, and in-memory technology.
Consider, for example, the latest release of SAP Business Suite. This solution is powered by SAP NetWeaver 7.31, which has a consolidated ABAP code line called ABAP 7.31. The 7.31 code line is derived from the SAP NetWeaver 7.03 code line, and incorporates SAP NetWeaver 7.30 innovations — such as enhanced ABAP language capabilities, internal table handling, new business data types, and developer productivity tools that were previously only usable in SAP NetWeaver BW and SAP NetWeaver Process Integration.
The latest release of SAP Business Suite still offers an opportunity for companies to upgrade from a dual stack. However, there is also a dual- stack split tool available as part of the software logistics (SL) toolset4 that allows companies to move into a single-stack environment, which offers much more flexibility. The flexibility of a single stack allows customers to update SAP NetWeaver Portal or SAP NetWeaver BW without having to update the SAP ERP back end. The opposite is also true; customers are not forced to update SAP NetWeaver Portal if they apply the latest SAP ERP enhancement package.
By incorporating innovations into the underlying SAP NetWeaver platform and moving toward single-stack environments, SAP is delivering innovation to on-premise solutions such as SAP Business Suite while simplifying the landscape and paving the way for interoperability with new and emerging technologies — for example, SAP has added support for SAP HANA to SAP NetWeaver BW 7.30.
To support custom development, SAP has invested in new development tools for delivery with SAP NetWeaver 7.03, particularly in tools for the user. For example, the Web Dynpro-based Floorplan Manager, which is part of SAP NetWeaver 7.03 and is available with the latest release of SAP Business Suite, is a tool for managing user interaction with applications in a pattern-based style to ensure consistency. Floorplans, such as the overview page floorplan or guided activity floorplan, are built from generic UI building blocks with a layout that is defined in the new, flexible UI designer (FLUID) tool.
This tooling approach enables power users to enter runtime authoring environments where UIs are configured rather than developed, which is beneficial because the process is less error-prone and allows for customization on many different levels without interference. Also, coding skills are not required because a power user can easily use the Floorplan Manager tools.
In addition, SAP NetWeaver Business Client, which acts as a role-based container for Web Dynpro and SAP GUI-based content, includes a new contextual tool called the sidepanel that enables users to launch contextual applications that are provided as predefined content (see Figure 3). SAP NetWeaver Business Client is able to query the running transaction for its context and feed this information into the panel.
||SAP NetWeaver Business Client’s contextual sidepanel tool
SAP is embracing new technologies such as mobile, cloud, and in-memory computing, and has published roadmaps — available at http://service.sap.com/roadmap — to help customers plan their own path to innovation. A core tenet of SAP’s strategy for supporting these technologies is to bridge customers’ classical on-premise-based solutions to these new environments, enabling customers to stay in step with innovation and reap the benefits without the risk.
For more details, visit www.sdn.sap.com/irj/sdn/nw-products.
Karl Kessler (firstname.lastname@example.org) joined SAP AG in 1992. He is the Product Manager of the SAP NetWeaver foundation — which includes SAP NetWeaver Application Server, Web Dynpro, the ABAP Workbench, and SAP NetWeaver Developer Studio — and is responsible for all rollout activities. Currently, Karl’s work centers on how SAP NetWeaver powers SAP ERP and SAP Business Suite software, with a focus on lifecycle management.
1 For an overview of SAP NetWeaver Gateway, see “SAP NetWeaver Gateway Extends the Reach of SAP Business Applications” in the July-September 2011 issue of SAPinsider. [back]
2 The oData protocol was invented by Microsoft for accessing the web via an ODBC-style standard.[back]
3 The lean Java stack is a configurable stack that follows the OSGi specification, meaning if you need a web container, only a web container is deployed and not a complete Java EE5 engine with logging, tracing, IIOP connectivity, database access, web service, etc. [back]
4 The SL toolset is available for download from the SAP Service Marketplace (see SAP Note 1563579). [back]