The document discusses various approaches for integrating SAP systems with JBoss middleware technologies. It describes Red Hat JBoss products like EAP, Fuse, and SOA Platform that can be used for integration. It then covers different SAP integration technologies like the REST-based SAP NetWeaver Gateway, SOAP-based Enterprise Services, and Remote Function Calls. Recommendations are provided for when to take a data-centric approach using the Gateway or a process-centric approach using Hibersap and JCA. Examples of each approach are given.
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
SAP Integration with JBoss Technologies: REST, SOAP, and RFC Approaches
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. Session title
SAP Integration with JBoss Technologies Non -confidential 2
Agenda
●
Red Hat JBoss Middleware Products
●
Introduction to SAP integration technologies
– REST based approach with SAP NetWeaver Gateway
– SOAP based approach with SAP Enterprise Services
– Remote Function Calls with the Java EE Connector Architecture
●
Recommendations & Examples
3. Session title
SAP Integration with JBoss Technologies Non -confidential 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
4. Session title
SAP Integration with JBoss Technologies Non -confidential 4
Red Hat JBoss Fuse – Build Your Own Way
●
Elastic footprint and flexible architecture
●
Based on open source Apache projects
– Apache CXF, Apache Camel
– Apache ActiveMQ
– Apache Karaf + Fuse Fabric
●
Apache CXF (HTTP, SOAP, REST ) or
Apache Camel (SAP NetWeaver Gateway
Camel Component) supports the integration
with ERP systems
5. Session title
SAP Integration with JBoss Technologies Non -confidential 5
Red Hat JBoss SOA Platform 6 – More in the Box
●
A standard based, service development,
deployment and integration platform
●
Ease of use
●
Technology refresh (EAP 6, OASIS ”
SCA, S-RAMP”, Core ESB
“Camel, CXF, ActiveMQ”, Maven)
●
Governance
●
Functional equivalence with SOA 5
SOA 6 Platform Architecture
6. Session title
SAP Integration with JBoss Technologies Non -confidential 6
SOA 6 Gateways – Connectivity with external systems
Camel FTP File
JCA JMS JPA
Mail
Scheduling SQL SCA
Netty TCP Netty UDP
HTTP REST SOAP
SOA 6 Platform Architecture
...
7. Session title
SAP Integration with JBoss Technologies Non -confidential 7
Red Hat JBoss Data Services - Data Virtualization
●
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
EDS v5
9. Session title
SAP Integration with JBoss Technologies Non -confidential 9
Supported Data Sources
Enterprise RDBMS:
Oracle
IBM DB2
Microsoft SQL Server
Sybase ASE
MySQL
PostgreSQL
Ingres
Enterprise EDW:
Teradata
Netezza
Greenplum
Specialty Data Sources:
S-RAMP/ModeShape Repository
Mondrian
MetaMatrix
LDAP
Enterprise & Cloud Applications:
Salesforce.com
SAP
Big Data:
Apache Hive
NoSQL:
JBoss Data Grid (Infinispan)
MongoDB
Technology Connectors:
Flat Files, XML Files, XML over HTTP
SOAP Web Services
REST Web Services
OData Services
Office Productivity:
Microsoft Excel
Microsoft Access
Google Spreadsheets
10. Session title
SAP Integration with JBoss Technologies Non -confidential 10
Different Approaches
Custom Java Applications
JBoss EAPJBoss EAP
JBoss FuseJBoss Fuse
JBoss MiddlewareJBoss Middleware
Non-SAP Systems/Databases
User Experiences
Web Mobile Enterprise Social
SAP NetWeaver
Gateway
SAP Enterprise
Services
SAP Application
Integration
REST SOAP RFC
SAP Business Suite
CRM SRM SCM PLM ERP
JBoss SOA-P / EDSJBoss SOA-P / EDS
12. Session title
SAP Integration with JBoss Technologies Non -confidential 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
13. Session title
SAP Integration with JBoss Technologies Non -confidential 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
14. Session title
SAP Integration with JBoss Technologies Non -confidential 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
16. Session title
SAP Integration with JBoss Technologies Non -confidential 16
SAP Enterprise Services: Goals
●
No SAP knowledge required
●
Use of open, non-proprietary technologies
●
Language independent
●
Process-centric approach
17. Session title
SAP Integration with JBoss Technologies Non -confidential 17
SAP Enterprise Services: Characteristics
●
Expose existing ABAP functions as Web Services
– HTTP(S)
– SOAP
– XML
●
In SAP ERP, a WS wrapper can be created for existing functions
18. Session title
SAP Integration with JBoss Technologies Non -confidential 18
SAP Enterprise Services: Pros and Cons
●
Pros
– Work well with SOA platforms
– Familiar tools and technologies for Java devs
– Use WDSL to generate client code
– Trivial to create Web Service wrapper in SAP
– No additional installs / hardware
●
Cons
– SOAP / WS* hell ;-)
– Not transactional
20. Session title
SAP Integration with JBoss Technologies Non -confidential 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...
21. Session title
SAP Integration with JBoss Technologies Non -confidential 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
22. Session title
SAP Integration with JBoss Technologies Non -confidential 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
●
LGPL
●
http://sourceforge.net/projects/cuckoo-ra/
– JBoss SAP JCA Connector
●
LGPL
●
https://github.com/punkhorn/jboss-sap-jca
●
All these use the SAP Java Connector (JCo) under the hood
23. Session title
SAP Integration with JBoss Technologies Non -confidential 23
JCA + JCo: Pros and Cons
●
Pros
– Fits well into Java EE world
– No additional installs on SAP backend
– Bidirectional communication possible (Java calls SAP, SAP calls Java)
– Transactional
●
Cons
– Proprietary protocol
– JCA Common Client Interface (CCI): overly generic, lots of glue code
24. Session title
SAP Integration with JBoss Technologies Non -confidential 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)
26. Session title
SAP Integration with JBoss Technologies Non -confidential 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
27. Session title
SAP Integration with JBoss Technologies Non -confidential 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
28. Session title
SAP Integration with JBoss Technologies Non -confidential 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)
29. Session title
SAP Integration with JBoss Technologies Non -confidential 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
30. Session title
SAP Integration with JBoss Technologies Non -confidential 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