SAP ERP provides different approaches to integrate Java applications with business logic written in ABAP. With JBoss Fuse, the SOA Platform, and Data Services Platform, Red Hat offers flexible middleware solutions for service-oriented integration and orchestration. As a leading provider of integrated solutions and longtime Premier Partner, akquinet has a long history of projects integrating individual applications based on JBoss with standard ERP software such as SAP or Navision.
Based on various real world examples, we will show different ways to integrate SAP ABAP backends with JBoss Middleware. We will discuss the pros and cons of integrating Java EE applications using (a) the REST based approach with NetWeaver Gateway, (b) JBoss Data Services Platform with NetWeaver Gateway (c) SOAP based Web Services and (d) Remote Function Calls with the Java EE Connector Architecture (JCA) and the SAP Java Connector (JCo) library
1. SAP Integration with JBoss
Technologies
Serge Pagop
Sr. Channels Solution Architect
spagop@redhat.com
2013-10-02
Carsten Erker
Software Architect
carsten.erker@akquinet.de
2. Agenda
●
Red Hat JBoss Middleware Products
●
Introduction to SAP integration technologies
–
–
SOAP based approach with SAP Enterprise Services
–
●
REST based approach with SAP NetWeaver Gateway
Remote Function Calls with the Java EE Connector Architecture
Recommendations & Examples
Session title
SAP Integration with JBoss Technologies
Non -confidential
2
3. Red Hat JBoss EAP 6 – Cloud Ready Architecture
●
Modular architecture & high degree of
automation
●
Flexible management
●
Frugal use of resources
●
Lean, agile development
●
Open platform
●
Java EE 6 standard
●
Subsystems (Web Technologies, Enterprise
App. Technologies, Web Services
Technologies, Management and Security
Technologies) are what make up the
functionality of the Application Server
Session title
SAP Integration with JBoss Technologies
Non -confidential
3
4. Red Hat JBoss Fuse – Build Your Own Way
●
Elastic footprint and flexible architecture
●
Based on open source Apache projects
–
–
Apache ActiveMQ
–
●
Apache CXF, Apache Camel
Apache Karaf + Fuse Fabric
Apache CXF (HTTP, SOAP, REST ) or
Apache Camel (SAP NetWeaver Gateway
Camel Component) supports the integration
with ERP systems
Session title
SAP Integration with JBoss Technologies
Non -confidential
4
5. Red Hat JBoss SOA Platform 6 – More in the Box
●
A standard based, service development,
deployment and integration platform
●
Ease of use
●
SOA 6 Platform Architecture
Technology refresh (EAP 6, OASIS ”
SCA, S-RAMP”, Core ESB
“Camel, CXF, ActiveMQ”, Maven)
●
Governance
●
Functional equivalence with SOA 5
Session title
SAP Integration with JBoss Technologies
Non -confidential
5
6. SOA 6 Gateways – Connectivity with external systems
Camel
FTP
SOA 6 Platform Architecture
File
HTTP
REST SOAP
JCA
JMS
JPA
Scheduling SQL SCA
Netty TCP Netty UDP
Mail
...
Session title
SAP Integration with JBoss Technologies
Non -confidential
6
7. Red Hat JBoss Data Services - Data Virtualization
EDS v5
●
JBoss Data Services is a data
federation and virtualization
engine, that allows you to query
multiple data sources (RDBMs,
Web Services, Files, Applications,
etc.) as though they were a single
unified source
Session title
SAP Integration with JBoss Technologies
Non -confidential
7
8. How do Red Hat JBoss Data Services Work?
Session title
SAP Integration with JBoss Technologies
Non -confidential
8
9. Supported Data Sources
Enterprise & Cloud Applications:
Salesforce.com
SAP
Enterprise RDBMS:
Oracle
IBM DB2
Microsoft SQL Server
Sybase ASE
MySQL
PostgreSQL
Ingres
Big Data:
Apache Hive
NoSQL:
JBoss Data Grid (Infinispan)
MongoDB
Enterprise EDW:
Teradata
Netezza
Greenplum
Technology Connectors:
Flat Files, XML Files, XML over HTTP
SOAP Web Services
REST Web Services
OData Services
Specialty Data Sources:
S-RAMP/ModeShape Repository
Mondrian
MetaMatrix
LDAP
Office Productivity:
Microsoft Excel
Microsoft Access
Google Spreadsheets
Session title
SAP Integration with JBoss Technologies
Non -confidential
9
10. Different Approaches
User Experiences
Web
Mobile
Enterprise
Social
Custom Java Applications
SAP NetWeaver
Gateway
SAP Enterprise
Services
SAP Application
Integration
REST
SOAP
RFC
JBoss EAP
JBoss Fuse
JBoss SOA-P / EDS
SAP Business Suite
CRM
SRM
SCM
PLM
ERP
JBoss Middleware
Non-SAP Systems/Databases
Session title
SAP Integration with JBoss Technologies
Non -confidential
10
12. SAP NetWeaver Gateway: Goals
●
No SAP knowledge required
●
Use of open, non-proprietary technologies
●
Language independent
●
Embrace mobile and tablet devices
●
Data-centric approach
Session title
SAP Integration with JBoss Technologies
Non -confidential
12
13. SAP NetWeaver Gateway: Characteristics
●
A set of add-ons to existing SAP ABAP stack
●
Embraces REST architectural style
–
–
●
HTTP(S)
XML or JSON data formats
Tools for Eclipse, Visual Studio and Xcode
–
Find exposed services and generate code
Session title
SAP Integration with JBoss Technologies
Non -confidential
13
14. SAP NetWeaver Gateway: Pros and Cons
●
Pros
–
–
●
Familiar tools and technologies for Java devs
Existing ABAP functions/dialogs can easily be exposed as a Gateway service
Cons
–
NetWeaver Gateway needs to be installed in SAP backend or separately
–
Creating services in ABAP not trivial for more complex scenarios
–
Not transactional
Session title
SAP Integration with JBoss Technologies
Non -confidential
14
16. SAP Enterprise Services: Goals
●
No SAP knowledge required
●
Use of open, non-proprietary technologies
●
Language independent
●
Process-centric approach
Session title
SAP Integration with JBoss Technologies
Non -confidential
16
17. SAP Enterprise Services: Characteristics
●
Expose existing ABAP functions as Web Services
–
–
SOAP
–
●
HTTP(S)
XML
In SAP ERP, a WS wrapper can be created for existing functions
Session title
SAP Integration with JBoss Technologies
Non -confidential
17
18. SAP Enterprise Services: Pros and Cons
●
Pros
–
–
Familiar tools and technologies for Java devs
–
Use WDSL to generate client code
–
Trivial to create Web Service wrapper in SAP
–
●
Work well with SOA platforms
No additional installs / hardware
Cons
–
SOAP / WS* hell ;-)
–
Not transactional
Session title
SAP Integration with JBoss Technologies
Non -confidential
18
20. SAP Remote Function Call (RFC)
●
Call ABAP functions in SAP ERP
●
SAP Java Connector (JCo)
–
Java library
–
Uses the binary SAP RFC protocol, supports
●
Connection pooling
●
Transactions
●
Security
●
Process-centric approach
●
Does not fit very well into Java EE...
Session title
SAP Integration with JBoss Technologies
Non -confidential
20
21. Java EE Connector Architecture (JCA)
●
Interaction of Java EE apps with Enterprise Information Systems (EIS)
–
●
… such as SAP ERP
A Resource Adapter
–
is deployed in a Java EE application server
–
implements the JCA for a specific EIS
●
Defines inbound and outbound connectivity
●
Takes care of connections, security, transactions, configuration
Session title
SAP Integration with JBoss Technologies
Non -confidential
21
22. Resource Adapters for SAP: Availability
●
SAP's own RA only runs on SAP NetWeaver Application Server ;-(
●
Open Source alternatives:
–
Cuckoo Resource Adapter for SAP
●
●
–
Status: Stable (LGPL)
http://sourceforge.net/projects/cuckoo-ra/
JBoss SAP JCA Connector
●
●
●
Status: In Development (LGPL)
https://github.com/punkhorn/jboss-sap-jca
All these use the SAP Java Connector (JCo) under the hood
Session title
SAP Integration with JBoss Technologies
Non -confidential
22
23. JCA + JCo: Pros and Cons
●
Pros
–
–
No additional installs on SAP backend
–
Bidirectional communication possible (Java calls SAP, SAP calls Java)
–
●
Fits well into Java EE world
Transactional
Cons
–
Proprietary protocol
–
JCA Common Client Interface (CCI): overly generic, lots of glue code
Session title
SAP Integration with JBoss Technologies
Non -confidential
23
24. Hibersap
●
“O/R-Mapper for SAP”
●
Mapping of ABAP functions to Java objects
–
with Java annotations
●
Lean API
●
On top of JCA Resource Adapter or JCo
●
Open Source (LGPL)
Session title
SAP Integration with JBoss Technologies
Non -confidential
24
26. The data-centric approach
●
When you expose data from an SAP ERP system to your application
–
●
Use SAP NetWeaver Gateway
The JBoss Data Services Platform with NetWeaver Gateway gives you
–
… a common way to unify virtualized view of information combined from
multiple disparate sources (SAPs, …)
–
… the ability to enable users and applications to query and manage the
integrated data as if it were located in a single database via a single uniform
API
Session title
SAP Integration with JBoss Technologies
Non -confidential
26
27. The data-centric approach: Example 1
●
●
●
Web app for S&D for use by mobile
and desktop devices
Search, view, change and create
customers and related data
Customer data resides in SAP ERP
Session title
SAP Integration with JBoss Technologies
Non -confidential
27
28. The data-centric approach: Example 2
●
●
●
Reporting App for an online credit
platform
Aggregate and virtualize credit
request customer's data
Customer's data resides in different
sources (DB, SAP, Salesforce)
Session title
SAP Integration with JBoss Technologies
Non -confidential
28
29. The process-centric approach
●
●
When integrating business processes into your Java EE app, consider
using Hibersap with JCA
This makes sure
–
... your data stays consistent in all systems
–
… you are ready for complex scenarios
–
… your code remains expressive and maintainable
Session title
SAP Integration with JBoss Technologies
Non -confidential
29
30. The process-centric approach: Example
●
Hospital Information System
●
Java EE application w/ Rich Client
●
●
●
Invoices are created in Java EE
application
Further financial processes take
place in SAP ERP
Distributed transactions guarantee
data consistency in both systems
Session title
SAP Integration with JBoss Technologies
Non -confidential
30
33. Pictures
●
●
●
●
●
Puerta de Alcalá by Emilio García (CC BY-SA 2.0):
http://commons.wikimedia.org/wiki/File:Puerta_de_Alcalá_2.jpg
Spider Web by Gnissah (CC BY-SA 3.0):
http://en.wikipedia.org/wiki/File:Araneus_diadematus_web_1.jpg
Post Office Engineers by Cardiff Council Flat Holm Project (CC BY 3.0):
http://en.wikipedia.org/wiki/File:Post_Office_Engineers.jpg
Indication Sign by Sergio Y Adeline (CC BY-NC 2.0):
http://www.flickr.com/photos/18221790@N06/6813805609/
Icons by LogoOpenStock (CC BY):
http://www.vecteezy.com/vector-icons/47484-techno-host-logo-elements
Session title
SAP Integration with JBoss Technologies
Non -confidential
33