Translate to Different Languages!

Wednesday, December 17, 2014

Connecting to SAP from Fuse 6.1 Part 1 - Netweaver Gateway Component

Overview

We won't go into great detail on describing Camel other than it is the open source integration framework based on Enterprise Integration Patterns.  Apache Camel uses URIs to work directly with any kind of Transport or messaging model such as HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF, as well as pluggable Components and Data Format options.  One of these components is the sap-netweaver component which is available in Fuse 6.1.  Part 1 focuses on this component while Part 2 focuses on the JCo component which is available in Fuse 6.1 but not in Camel.  For more detailed information on Camel and Enterprise Integration Patterns you can read the Primer at http://jbossevangelist.slides.com/kpeeples-jte/enterprise-integration-patterns-primer#/.


The sap-netweaver component, available in Camel 2.12, integrates with the SAP NetWeaver Gateway using HTTP transports.  This camel component supports only producer endpoints.  Maven users will need to add the following dependency to their pom.xml for this component:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-sap-netweaver</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
You would need to have an account to the SAP NetWeaver system to be able to leverage this component. Also, this component uses the basic authentication scheme for logging into SAP NetWeaver.

Component and endpoint options
Name
Default Value
Description
username

Username for account. This is mandatory.
password

Password for account. This is mandatory.
json
true
Whether to return data in JSON format. If this option is false, then XML is returned in Atom format.
jsonAsMap
true
To transform the JSON from a String to a Map in the message body.
flatternMap
true
If the JSON Map contains only a single entry, then flattern by storing that single entry value as the message body.

Message Headers

The following headers can be used by the producer.
Name
Type
Description
CamelNetWeaverCommand
String
Mandatory: The command to execute in MS ADO.Net Data Service format.

Setup a SAP Developer Account

In order to run the project a SAP Developer account should be setup. Visit the SAP Netweaver Gateway Developer Page at http://scn.sap.com/docs/DOC-31221  Also visit the Red Hat JBoss Enterprise Middleware for SAP page on SCN at http://scn.sap.com/docs/DOC-39134

Running a test of the component

Step 1 - Download the Project from JBoss Demo Central - https://github.com/jbossdemocentral/fuse-components-sap-netweaver

Step 2 - Import the Project into JBDS and take a look at the camel-context.xml which is the Spring DSL that contains the Camel Route for the project.  We used this command to get specific flight information which is put into the CamelNetWeaverCommand:  FlightCollection(carrid='AZ',connid='0555',fldate=datetime'2014-07-09T00%3A00%3A00')


<camelContext xmlns="http://camel.apache.org/schema/spring">
    <route>
        <description>here is a sample which processes the input files then performs content based routing on the message using XPath</description>
        <from uri="file:src/sap-netweaver?fileName=command.txt&amp;noop=true"/>
        <setHeader headerName="CamelNetWeaverCommand">
            <simple>in.body</simple>
        </setHeader>
        <to uri="sap-netweaver:https://sapes1.sapdevcenter.com/sap/opu/odata/IWFND/RMTSAMPLEFLIGHT/?username=USERNAME&amp;password=PASSWORD&amp;json=false"/>
        <to uri="log:response"/>
    </route>
</camelContext>


I used the following software to view and run the Camel Context:
-JBDS 7.1.1 - https://www.jboss.org/products/jbds.html
-Integration Stack 4.1.6.Final - http://download.jboss.org/jbosstools/updates/stable/kepler/integration-stack

Step 3 - Update the Username and Password in the camel-context.xml

Step 4 - Right click on camel-context.xml and run as 'Local Camel Context'






















Step 5 - The output will look like the below in the console.  Notice the Response Flight Information from SAP.


Wednesday, November 19, 2014

Integration intervention: Get your apps and data up to speed

We completed the 3rd webinar in our Beyond Big Data Webinar Series.  Our webinar concentrated on the Enterprise Service Bus with Fuse and the Data Bus with Data Virtualization.  I have included the presentation as well as the link to listen on demand.

Webinar #3: Integration intervention: Get your apps and data up to speed

SOA has been the defacto methodology for enterprise application and process integration, because loosely coupled components and composite applications are more agile and efficient. The perfect solution? Not quite.

The data’s always been the problem. The most efficient and agile applications and services can be dragged down by the point-to-point data connections of a traditional data integration stack. Virtualized data services can eliminate the friction and get your applications up to speed.

In this webinar we'll show you how to:
  • Quickly and easily create a virtual data services layer to plug data into your SOA infrastructure for an agile and efficient solution
  • Derive more business value from your services.

Webinar #3 from opensourcementor

Data Integration Webinar Series

Information is power. It gives your organization the competitive edge it needs to win. But, with so much data and so little time, how do you leverage all this data to actually yield valuable business insights?

Big data solutions are a great start. But what about being able to easily access the right data, at the right time?

Watch the webinar series to learn how to overcome challenges of big data, data bottlenecks, and data integration. Topics in this 5-part series are:
  • Implementing a data strategy and architecture to avoid data problems
  • Delivering data-rich user experiences with high performance and scalability
  • How to quickly and easily create a virtual data services layer
  • Analytics based decision making
  • Avoiding Hadoop data silos
Register for the upcoming webinars as well as watch prior webinars at http://bit.ly/ZIkAsx

Tuesday, November 4, 2014

Where can I find JBoss Books?

We have great resources for learning all things Open Source and Open Standards.  We have a page setup for a list of books available and I have also listed some additional ones below.
Books at jboss.org: http://www.jboss.org/books/

Additional Books:
Title: OpenShift Cookbook 
Author: Shekhar Gulati (EVG Team) 
Published: October 29, 2014 
Pages: 405 
Title: Learning OpenShift 
Author: Grant Shipley (EVG Team) 
Pages: 304 
Published: October 29, 2014 
Title: Getting Started with OpenShift 
Author: Steve Pousty and Katie Miller (EVG Team) 
Pages: 104 
Published: June 6, 2014 
Title: Implementing OpenShift 
Author: Adam Miller (Operations team) 
Pages: 116 
Published: October 24, 2013 
Title: OpenShift Primer 
Author: Eric Schabell (JTE at Red Hat) 
Pages: 44 
Published: November 18, 2013 

Integrate Everything, Everywhere

Thursday November 20, 2014 I will be in Mountain View, CA for a JBoss Users Group Meetup (JBUG).  I am looking forward to talking about Camel and Enterprise Integration Patterns on the West Coast.  We will run some demonstrations that you will be able to run yourself.  Come join us for a exciting meetup!  For more information and to register visit the following link: http://www.meetup.com/BayAreaJBug/events/217527822/

Learn how the integration patterns and Camel components can help provide solutions to problems faced during Enterprise Application Integration both on premise and in cloud. We will also do several demos that you can easily run yourself including Camel on EAP and Docker.

The Topics we will cover briefly are:
  • What are EIPs?
  • EIPs Defined
  • Widgets and Gadets Example
  • What is Camel
  • EIPs in Action - Standalone
  • EIPs in Action - OpenShift
  • EIPs in Action - Docker
  • EIPs in Action - EAP and Docker

Monday, November 3, 2014

Camel and Enterprise Integration Patterns

We are working on a online presentation and multiple demos around Enterprise Integration Patterns with Camel, ActiveMQ with Standalone, OpenShift and Docker environments.  The Topics covered are:
  • What are EIPs?
  • EIPs Defined
  • Widgets and Gadets Example
  • Apache Camel and ActiveMQ
  • EIPs in Action - Standalone
  • EIPs in Action - OpenShift
  • EIPs in Action - Docker
We will continue to improve this deck so please add any comments here or email us your comments.  I have included the slide deck below.  Move to the right for each topic and down to dive into each topic.  Or you can go to the presentation directly at http://jbossevangelist.slides.com/kpeeples-jte/enterprise-integration-patterns-primer


JBoss Docker Github Organization

I wanted to share the JBoss Docker Microsite this week as well as the JBoss Docker Organization which contains Dockerfiles that can be used to build Docker images with JBoss Community projects.  The repository has been moved to the github organization for better management.

The Docker project revolutionizes thinking about software delivery making it easy to build and share images that include your content. We at JBoss love the idea behind Docker and ship images for our projects. Just for you.

We publish our images under the official jboss organization. Every image is built from Dockerfiles available in our GitHub repository. To keep them up to date we have automated builds that track the source and rebuild images (only) if necessary. Additionally, images are linked to each other: If an image we’re base on is modified, we rebuild our image to provide you the fresh image that you deserve.

You can find the following docker files on github with more being added:

  1. aerogear
  2. immutant
  3. keycloak
  4. liveoak
  5. modeshape
  6. nodyn
  7. switchyard
  8. torquebox
  9. wildfly
We have add a couple of Product Docker Files as well:
  1. Fuse Service Works
  2. Data Virtualization

Find the JBoss Docker Microsite at http://www.jboss.org/docker/

Find the JBoss Docker Organization at https://github.com/jboss-dockerfiles/dockerfiles

You can send an email with questions or comments to docker@jboss.org.

Asia Pacific Red Hat Technical Exchange - Architect Implement Enable


Architect, Implement, Enable at the Asia Pacific Tech Exchange in Macau in December.  Last year I did multiple sessions for the Asia Pacific Tech Exchange which were done remotely. This year I will be presenting a couple of sessions at APAC RHTE in Macau December 1-5, 2014 in person. 

Keep watching for more information on the sessions and agenda at:

Red Hat provides probably the best software in the world. And it is free, secure and open source too. And we have done quite job providing that value to our customers. It took 20 years to get here but we are merely at the beginning of what started out as an open source revolution. To go forward we will go one step at the time, one customer, one technology, one colleague.

The Red Hat Tech Exchange will provide all that practical knowledge and experience and best practice to you. Become part of a worldwide team of experts, thinkers, consultants, architects and leverage your knowledge while expanding your network at the same time. Besides typical knowledge transfer sessions, there will also be workshops, experience sharing sessions and interactive sessions.

The Red Hat Tech Exchange will host inspiring keynotes on the first morning before we break out in 4 parallel technical tracks. At the end of each day there will be opportunities to network and enjoy the time together. The Red Hat Tech Exchange will end with a panel discussion that recaptures the event. The last day will be used for collaborative initiatives.