Convergence of Connectivity Technologies
SAP has strategic focus on HANA and Mobile and so most announcements and lectured last SAP TechEd covered these topics. But there are more exciting news and more TLAs (three letter acronyms to learn among them ACO, MDR and IBC. Never heard of these features? Then go ahead. Especially if you work in systems integration you should definitely read the following blog.
SOAP is not dead
In the current SPs of NW 7.02 SAP deployed the MDR (Metadata Repository) which is, despite of its stupid and generic name, an ABAP version of the ESR (Enterprise Services Repository). This makes it possible to model webs services in ABAP without using any Java components.
By the way, did you have a look at transaction SOAMANGER within the last time? It’s getting really cool: you can configure service groups in ABAP like you do in PI, there are UIs for mass configuration and even a health care check. Transaction SOAMANAGER is getting really useful!
All new features are described in OSS note 1575707 – ABAP Web Service Connectivity – New Features in Release 7.02. In fact I’m loving this note because it contains a link to an SCN wiki page! In this note SAP is giving up the strategy of information silos and creates synergy which I really appreciate cause documentation which is for me an affair to the heart.
But there is even more: testing gets easies configuration-less shortcuts which is documented also in the wiki: http://wiki.sdn.sap.com/wiki/display/ABAPConn/Configuration-less+Shortcut+and+Generic+Consumer+Proxy.
ACO – RFC goes JCo/NCo
RFC has one major issue compared to web services: all RFC are exposed for remote access in contrast to web services that have to be configured with transaction SOAMANAGER. In NW 7.40 it will be able to switch RFCs on and off which is a quite useful feature.
But in NW 7.40 it’s getting real cool: the SAP ABAP Connector (ACO) allows you to generate so called consumer proxys which will leverage RFC scenarios which are a mess when dealing with different versions. If the signature of an RFC changes a call from ABAP with the old signature will not lead to a dump like an ususal function call but scramble your data.
Service Mappings in AS ABAP SOAP runtime
The same concept of parameter mapping that help you with dealing of new versions of an RFC interface are available in NW 7.40. Using so called contract, semantic contracts and “semantic addressing” using so called Identifiable Business Contexts (IBC).
Although those names (semantic contracts, IBCs) are terrible in my humble opinion -autistic savants might judge different about it- the concept are cool: You can define integration scenarios and cope with compatible and incompatible further development of service interfaces without using a PI.
Service Mappings in AS ABAP Designtime
In NetWeaver 7.31 SAP introduced a cool tool which I tested in a Customer Enganegemt Initiative some time ago. With the Service Implementation workbench you can develop full blown Enterprise Services resp. ESR content from BAPIs. You can use the tool as well to generate implementation classes from web services proxies that integrate all useful tools from SAP NetWeaver: Error and Conflict Handler, Idempotency Framework, Mappings and much more.
This leads in fact to another line of convergence: “good old” InsideOut development of web services from BAPIs which inherit their terrible properties is obsolete – RFCs can be exposed as Enterprise Services.
Does SAP NetWeaver PI become obsolete?
I don’t think so. If you want to design and administrate A2A and B2B process in an enterprise or cross-enterprise context AS ABAP is –at the moment- not the right choice but SAP Process Integration ist. I don’t want to speak of SAP Process Orchestration which has further unique properties and capabilities.
What comes next?
Because I took part at some HANA related rampups I was able to test SAP NW 7.40 very early. Now the documentation is online and it is GA I can start to blog about features – not only about HANA but also about connectivity especially about the so called concept of Unified Connectivity which comes with NetWeaver 7.40 and is already mentioned in SAP Library.
Up to now I like SAP’s style of convergence in technology because it is more than a lowest common denominator – it combines the strengths of different approaches. I hope that ABAP SOAP designtime will be as easy to use as RFC in the future – but perhaps this is only a dream.
But will this solve connectivity problems? This is a difficult question because it points to questions of systems’ architecture. When writing these sentences I hope no one will start a religious debate about REST. The reason is that I agree that SOAP and related standards are much too complex. Nevertheless I mastered many integration projects and found solutions for all SOAP related problems – but the most difficult part have been complex A2A interfaces and terrible implementations in backend systems that contained implicit and sometime shard-coded process chains and trees that made integration really difficult. IMHO we need integrations patterns for interface design, interface implementation and design of integration processes for every connectivity type, but this will be a topic for another blog.