Contenu connexe
Similaire à Cd100 latest updates (20)
Plus de Twan van den Broek (20)
Cd100 latest updates
- 1. CD100
SAP HANA Extended Application Services
Thomas Jung / SAP HANA Product Management
Ron Silberstein / SAP HANA Product Management
- 2. Disclaimer
This presentation outlines our general product direction and should not be relied on in making a
purchase decision. This presentation is not subject to your license agreement or any other agreement
with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to
develop or release any functionality mentioned in this presentation. This presentation and SAP's
strategy and possible future developments are subject to change and may be changed by SAP at any
time for any reason without notice. This document is provided without a warranty of any kind, either
express or implied, including but not limited to, the implied warranties of merchantability, fitness for a
particular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in this
document, except if such damages were caused by SAP intentionally or grossly negligent.
© 2012 SAP AG. All rights reserved. 2
- 4. SAP HANA Extended Application Services
overview
Rationale: Enable application development and deployment – minimize
“layers”
with an http-based UI (browser, mobile apps)
to run directly on SAP HANA, without an additional external application server which
minimizes TCO
leveraging the built-in strengths of SAP HANA for the best possible performance
Scope
From lightweight environment for small web-based applications
To robust environment for complex high-speed business applications which utilize the
deep integration with the differentiating SAP HANA database features
© 2012 SAP AG. All rights reserved. 4
- 5. ABAP and SAP HANA Extended Application Services strategic
usages
ABAP SAP HANA Extended Application
Services
• Support HANA specific features plus a
variety of traditional Databases • Applications built to run only on HANA
• Available now (BW 7.30, Gateway 2.0 • Planned Availability in HANA 1.0 SP5
SP4, Accelerators)
• New applications
• Continues innovation of current
applications
© 2012 SAP AG. All rights reserved. 5
- 8. Performance gains with HANA
Presentation logic
Control flow logic
HANA
Calculation logic
Data
© 2012 SAP AG. All rights reserved. 8
- 9. Modern clients handle presentation logic
Client
Presentation logic
Control flow logic
HANA
Calculation logic
Data
© 2012 SAP AG. All rights reserved. 9
- 10. Push the control flow down!
Client
Presentation logic
Control flow logic
HANA
Calculation logic
Data
© 2012 SAP AG. All rights reserved. 10
- 11. Push the control flow down!
Client
Presentation logic
HANA Control flow logic
Calculation logic
Data
© 2012 SAP AG. All rights reserved. 11
- 12. The essence of HANA Application Services (XS)!
Client
Presentation logic
HANA
XS
Control flow logic
Calculation logic
Data
© 2012 SAP AG. All rights reserved. 12
- 14. Programming model –
paradigm shift: responsibilities in runtime layers
Classic NW ABAP Layers XS Applications
SAP GUI Browser
Display pre-rendered UI Complete UI Rendering
Proprietary Protocol
HTML5: Javascript execution
ABAP
http(s); OData (pure data only)
UI Rendering HANA
XSEngine
Application Logic Procedural Appl. Logic
HdbNet
DBI/DBSL, DB buffer (minimal data volume)
SQL IndexServer
Other RDBS Data-oriented Appl. Logic
SQL
(high retrieval load, no scripts)
(HDB-SQL, SQLScript)
© 2012 SAP AG. All rights reserved. 14
- 15. Programming model
UI Rendering should be implemented completely in the Client
Server generically supports data exposure (via OData) and static UI content provisioning
Browser-based applications should use HTML5, especially SAP UI 5
Ability to leverage the Open Social component model
Additional UI features provided by the Portal Services: navigation, page building, mash-ups, personalization
Server-side procedural logic in JavaScript
Data-intensive logic to be pushed down to the index server processes via Native SAP HANA
View Types or SQLScript
Application artifacts are stored in the SAP HANA Repository
© 2012 SAP AG. All rights reserved. 15
- 16. Built-in services
Inbound channel UI services
• HTTP • SAPUI5
• Portal Services
Odata
• Drastic code reduction
Configuration
• Easy language, built-in extensibility
Outbound connectivity
• HTTP, SMTP
© 2012 SAP AG. All rights reserved. 16
- 17. Control and data artifacts in one repository
Client
Presentation logic
Presentation artifacts
HANA
Control flow logic
Control flow artifacts
Calculation logic
Data artifacts
Data
© 2012 SAP AG. All rights reserved. 17
- 18. We manage all artifacts in one repository!
Client
Presentation logic
Presentation artifacts
HANA
Control flow logic
Control flow artifacts
Calculation logic
Data artifacts
Data
© 2012 SAP AG. All rights reserved. 18
- 19. The SAP HANA repository
• Object management, versioning and transport
• Software component delivery and patching
• Built-in support for translatable texts
• Support for server based development
© 2012 SAP AG. All rights reserved. 19
- 26. End to end architecture
© 2012 SAP AG. All rights reserved. 26
- 27. End to end architecture
© 2012 SAP AG. All rights reserved. 27
- 32. Application Services – OData service implementation
Database Table/View Name
© 2012 SAP AG. All rights reserved. 32
- 33. Application Services – OData service implementation
Database Table/View Name
© 2012 SAP AG. All rights reserved. 33
- 35. Application Services – service implementation in JavaScript
function createEntry( rs ) {
return { JSON Formatter
"buyer_id" : rs.getInteger(1),
"company" : rs.getString(2),
"country" : rs.getString(3),
"contact_person" : rs.getString(4)}; }
function handleGet() {
var body = '';
$.response.setContentType('application/json');
var query = "SELECT BUYER_ID, COMPANY, COUNTRY, CONTACT_PERSON FROM "REALREAL"."realreal.db/BUYER" ORDER BY BUYER_ID DESC";
var conn = $.db.getConnection();
var pstmt = conn.prepareStatement(query);
var rs = pstmt.executeQuery();
var list = [];
while(rs.next()) {
Dynamic Database Query
list.push(createEntry(rs)); }
rs.close();
pstmt.close();
conn.close();
body = JSON.stringify( {"entries": list } );
$.response.addBody(body);
$.response.setReturnCode(200); }
switch ( $.request.getMethod() ) {
case 1: Request Dispatcher
handleGet();
break;
default:
$.response.setReturnCode(500); }
© 2012 SAP AG. All rights reserved. 35
- 36. Application Services – service implementation in JavaScript
function createEntry( rs ) {
return { JSON Formatter
"buyer_id" : rs.getInteger(1),
"company" : rs.getString(2),
"country" : rs.getString(3),
"contact_person" : rs.getString(4)}; }
function handleGet() {
var body = '';
$.response.setContentType('application/json');
var query = "SELECT BUYER_ID, COMPANY, COUNTRY, CONTACT_PERSON FROM "REALREAL"."realreal.db/BUYER" ORDER BY BUYER_ID DESC";
var conn = $.db.getConnection();
var pstmt = conn.prepareStatement(query);
var rs = pstmt.executeQuery();
var list = [];
while(rs.next()) {
Dynamic Database Query
list.push(createEntry(rs)); }
rs.close();
pstmt.close();
conn.close();
body = JSON.stringify( {"entries": list } );
$.response.addBody(body);
$.response.setReturnCode(200); }
switch ( $.request.getMethod() ) {
case 1: Request Dispatcher
handleGet();
break;
default:
$.response.setReturnCode(500); }
© 2012 SAP AG. All rights reserved. 36
- 40. XS Functionality: Roadmap
Outbound Connectivity
• http – planned for SP6
• smtp – planned for SP6
• RFC - planned for SP6
• WebSocket – planned for 2013
© 2012 SAP AG. All rights reserved. 40
- 41. XS Functionality: Roadmap
Distributed XS – for scale-out SAP HANA systems
• distribute across nodes for redundancy / fail-over – planned for SP6
• distribute across nodes for scalability / capacity – planned for SP6
© 2012 SAP AG. All rights reserved. 41
- 42. XS Functionality: Roadmap
Persistence Model (New DDL)
• Regular tables - planned for SP5
• Temporary tables - planned for SP5
• Structures - planned for SP5
© 2012 SAP AG. All rights reserved. 42
- 43. XS Functionality: Roadmap
OData Services
• Simple Design Time Format - planned for SP5
• Many-many Associations - planned for SP5
• $Expand (less roundtrips) - planned for SP5
• Solution for missing boolean in HDB type system - planned for SP6
• Translatable column headers - planned for SP6
• Create, Update, Delete – planned for SP6
© 2012 SAP AG. All rights reserved. 43
- 44. XS Functionality: Roadmap
Web-based UI
• HTML5 (which moves UI logic completely to the browser) - planned for SP5
• Native mobile clients – e.g., support for iOS apps (within context of SAPUI5) - planned
for SAPUI5 rel 1.8
• iOS, Android, and Blackberry
• Support of XS translation process for text-bundles - planned for SP5
• Portal-Like UI Services – planned for a later revision of SP5, but before SP6
© 2012 SAP AG. All rights reserved. 44
- 45. XS Functionality: Roadmap
Authentication
• DB users supported w/ simple Authentication (user/password) - currently available
• SSO via SAP logon tickets - planned for SP5
• SSO via SAML - planned for SP6
• SSO via Kerberos - planned for SP6
Application Configuration
• Accessible via API from xsjs - planned for SP6
• Extensibility support - planned for SP6
© 2012 SAP AG. All rights reserved. 45
- 46. XS Functionality: Roadmap
Transport of table content
• transport of table content – planned for SP5
Server-side JavaScript (XSJS)
• XSJS Runtime, with access to SQL, SqlScript, & other internal APIs - planned for SP5
• XSJS Debugging - planned for SP5
© 2012 SAP AG. All rights reserved. 46
- 47. XS Functionality: Roadmap
Development Workbench
• File-based standard tools (text editors) - planned for SP5
• HANA Studio and TeamProvider Integration - planned for SP5
• XSJS (JavaScript) Editor and Debugger - planned for SP5
• SqlScript Editor and Debugger - planned for SP5
Background Jobs
• Runtime - planned for SP6
• Scheduler - planned for SP6
• Event-driven – planned for SP7
© 2012 SAP AG. All rights reserved. 47
- 48. XS Functionality: Roadmap
Lifecycle Management
• Transport of delivery units - currently available
• Language Transports - currently available
• Product "assembly" and shipment - planned for SP5
• CTS+ support (loose coupling) - currently available (SolMan 7.1 SPS05 req'd)
• CTS+ support (close coupling) - planned for SP6
• New SAP HANA transport system – planned for SP6
© 2012 SAP AG. All rights reserved. 48
- 49. XS Functionality: Roadmap
Other
• RDL (River Development Language) – Additional development language option –
planned for SP6
• New XS-based technology components and applications
• Direct Extractor Connection – currently available
• SAP HANA portal services – planned for SP5, but some later revision in 2013
• XMLA query services - planned for SP5
© 2012 SAP AG. All rights reserved. 49
- 50. A look ahead: SAP HANA XS wizards planned for SP5
© 2012 SAP AG. All rights reserved. 50
- 51. A look ahead: server side JavaScript editor planned for SP5
• Linkage to XSJSLIB files
• Code completion for XSJS specific
APIs and imported library
functions
• Customizable JSLint based
checking as you type
© 2012 SAP AG. All rights reserved. 51
- 52. A look ahead: server side JavaScript debugger planned for SP5
© 2012 SAP AG. All rights reserved. 52
- 53. A look ahead: server side JavaScript debugger planned for SP5
© 2012 SAP AG. All rights reserved. 53
- 54. Further Information
SAP Public Web
http://scn.sap.com/community/developer-center/hana
http://help.sap.com/hana_appliance/#section5
SAP Education and Certification Opportunities
www.sap.com/education
Watch SAP TechEd Online
www.sapteched.com/online
© 2012 SAP AG. All rights reserved. 54