Introduction

As our System Integrator “PI person” said just last week, (with me extrapolating just a tiny bit - artistic license!) usually a PI consultant gets on a project and are the lone ranger/wolf of NetWeaver integration on the project. They tend to have to solve unique problems with the latest SAP PI software (and concepts), while listening and complying to the customer Integration Architect who has little exposure to SAP oddness.  Plus to make things more demanding, they must build interfaces to tight and sometimes unrealistic timelines; while constantly training functional consultants to think about what they need and what 3rd parties can deliver rather than just expect 3rd parties/non-SAP systems to speak SAPenese!

 

In other words, there is usually little opportunity to really confirm they are implementing “best practice”, or even have the ability to figure out if there is a better way.

 

Luckily for him (kind of), he’s got me on the customer side with dangerous hands on knowledge of XI 3.0 but only SAP TechEd workshops and documentary knowledge of PI 7.31 to help push and pull him in different directions and to refactor the solution continually till we both agree we’ve come up with our “best practice”. So with PI becoming PO, or is it PrO (the marketing term which may need to be thought through) which is the JAVA only version of PI that integrates clunkily but easily enough with NetWeaver BPM; we explored the possibilities, looked at integration flows, NetWeaver Development Studio versus Swing client and this documents (roughly) our way forward.

 

So here’s my attempt to:


  1. Give you an overview of the general PI concepts (you'll probably need a good SAP architectural/development understanding to keep up);
  2. Show you how to layout an integration, leveraging “pragmatic canonicals" and supporting Enterprise Services via PO;
  3. Put the design out there for true experts to try and tell me I’m doing things completely wrong ;-) I emphasize “try” as you need to realise I'm up for debating our current position.....
  4. Implement an overly simplistic example without some of the harder concepts like ABAP Proxies/IDocs/Guaranteed Delivery/Transporting objects/XSLT/User Defined Functions/etc; that you would still need to learn to really do much with PO not to forget to mention integration and building of BPM’s (you’ll be dangerous after this if you do this without learning the rest and practicing).

 

Note - I'll deliver the last part in a secondary blog shortly (give me a few days)...

 

Accessing a PO system

This is the easy part - Just head over to developer.sap.com and get yourself an Amazon Web Services instance of PO in about 10 minutes (provided you have an Amazon EC2 account already).  It’s currently a 7.31 SPS5 instance, and has all the tools you need to do what I’m about to explain. Steps to do this can be found here.

 

All the key Objects to Know (abbreviated and there are many more useful objects you should learn)

First, PO is made up of PI and BPM amongst other things; but key to implementing PI is setting up the System Landscape Directory with Software Component Versions (which belong to Products). These Software Component Versions (SWCV for short) effectively provide the breakdown of ownership of integration objects within PI, but you can think of it as software/service installations that come together to make a product (e.g. NetWeaver and ERP would be two separate SWCV's).

 

Secondly, let's talk about Data Types. These are effectively the structure of your message. Now you would think that would be sufficient to start connecting systems (if coming from a Business Connector world), but no...Now you need to put that message into a definition suitable to be exposed as a service. This is called a Message Type.

 

This Message Type can be mapped to, but cannot be used in an interface to a system outside of PO.  For that we need to add the message types to an operation(s) plus add interface meta data and this is called a Service Interface (You'll see screen shots below that help with this but I'm trying to keep this short).

 

So with a Service Interface containing an Operation or Operations containing Message Type(s); which each contain their own Data Type - we're good to start mapping but let's point out a couple of more points...

 

  • Everything is arranged around those SWCV's mentioned above; and then to organise this further, there are namespaces (like urn's or url's); and
  • Then dependencies between these SWCV's need to be set-up to allow reuse between these different areas.  It's not a big deal once you sort out your enterprise approach, but it can be annoying to beginners when you end up in cyclic dependencies (these are not supported).


The most important aspect here is to get the namespace right as these are the key to your objects within the runtime.

 

Anyway, moving on from that overly confusing aspect; now we need to cover message mappings.  These pretty much allow you to (can you guess)...map between 2 different message types.

 

You might think that's everything but then the final step is the Operation Mapping. This effectively defines connected Service Interfaces and let's you define what message mappings and other operations need to occur to get from one service interface to another service interface.

 

It's overkill, and I never really understood the brilliance behind why so many layers, but it's also not a big deal so let's move on.

 

Now that was all what is known as Enterprise Services Repository set-up - Now we have PI Integration Designer (old Swing client's Integration Directory) content to think through.

 

So back in the SLD, we need a Business System which requires a Technical System which requires products and associated SWCV's to be installed.  In short, Technical System holds the physical information about a system (but not for interfacing communications with unfortunately) and Business Systems are the Logical version you talk about (kind of like how infrastructure providers like giving you hostnames that mean nothing (technical), so you name it something else (business)).

 

Why? Well for one reason, because of how we've used SWCV's within the Service Registry, we now automatically know what can and can't be done with these Business Systems; but also, the SLD doesn't belong to PO (now days it is kind of more owned by Solution Manager) so that's the way it's got to be (though on a side note, the Landscape Management Database in SAP Solution Manager will probably take over one day).

 

So next is the coolest thing about PO compared to older PI; and that's the Integration Flow.  Basically this is a single page model driven way of defining an interface including defining the associated:

  • Business System
  • Service Interface
  • Operation Mapping
  • Communication Channel Type and Configuration - This is effectively telling the integration what adapter to use, and what the parameters are such as security profiles, certificates, etc.
  • Receiver Determination (for message splitting/filtering) - e.g. This message if it contains this information goes here, otherwise it goes here.

 

For experienced PI people, the cool aspect of this model is that if you have a Service Interface with multiple Operations, you can represent this entirely within one model (surprised me when I saw this feature last week).

 

So in summary, the above is just a cheat sheet to hopefully help a little with the next sections.

 

Enterprise Design (for us at least)

PI Model.001.jpg

So here's a picture of what we've ended up.  If you're looking to learn PO, I'd recommend not reading this section just yet and to at least play with a PO system using Part 2 of this blog as a dodgy quick starter. 

 

The main point in this diagram is we have a "virtual" Product and SWCV called Global which is where we hold our Canonical definitions (and other helper objects). While we strive to use Enterprise Services and associated Global Data Types defined by SAP; we're a small shop and mainly sticking with more customer specific Canonical definitions. The message types are business terminology and generic, but specific enough for the use case.  i.e.We won't have one super customer that has everything in it for all types of customers but we will probably do that for employee until a use case comes out that goes way beyond a basic employee structure. 

 

For reference, the name space has global as part of it, and objects are held within functional areas (as opposed to process named areas which the business systems will leverage as they are independent of processes). Reusable components are in the same namespace with a .components appended to it.

 

So in short, nearly everything will map via a Canonical. This may mean a lot of double mapping (Sending system format to Canonical, then from Canonical to Receiving system format), but the benefits should outweigh this system overhead (and we're not dealing with a throughput where performance will be a design issue).

 

So what else do we have..Well the sending and receiving systems own their own service interfaces (obviously), data types and have the responsibility of defining the mapping to the Canonical Message Type.

 

Then there's the Integration Product which represents (and is installed on in the SLD) the PO system and contains Operations and Services.  Operations contains all interfaces (grouped around processes) in one place (for everything). It's your one stop shop to see what your PI system is joining.  Services is a different SWCV with the sole purpose of allowing us to expose a service to anyone who has the right access. eg. We don't want people calling ERP services directly (especially through firewalls), so we expose the service through PI.

 

Some of the rules that go along with this are:

  • Services SWCV should reuse Global message types unless it needs to be an exact representation of an external format (e.g. WSDL).
  • URN’s will be process based in the Services SWCV
  • Component will be appended to Canonical URN for helper “stuff”
  • Operation Mapping will be stored in URN’s associated with our level 2 process models that have been modelled by the business
  • For ABAP Proxies, only internal definitions are supported, hence Global Message Types should be imported (XSD) into the relevant ABAP SWCV and aligned with the ABAP namespace. e.g. This is a workaround as I'd prefer less data and message types but hey...
  • Every real SWCV (e.g. Not Global or Integration Product SWCV's) is dependent on Global.
  • Integration Operations are dependent on all real SWCV's.

 

Still to Come

Here's the link to part 2 of this blog.

 

Calling all Lone Rangers/Wolves

 

Even in Expendables 2 (spoiler alert), Chuck Norris plays the ultimate "lone wolf", and temporarily comes together with the others for a good cause/battle; so feel free to join me in this blog and rip apart the above and let me know why my pragmatic approach breaks too many EA rules, or Integration best practices...There's never one answer when it come to design, but there's always plenty of wrong ones!

Summary

Enterprise Integration Patterns (EIP) help in solving recurring problems faced in the integration of enterprise applications.  This article introduces the Scatter-Gather – one of the Enterprise Integration patterns in the context of SAP NetWeaver Process Orchestration.

 

Applies to

SAP NetWeaver Process Orchestration EhP1 for SAP NetWeaver 7.3 SP5

 

Authors

Abdul-Gafoor Mohamed & Prashant Gautam

Product Management, SAP NetWeaver BPM, SAP Labs

 

 

The Scatter-Gather Pattern in Process Orchestration

 

Enterprise Integration Patterns – Scatter-Gather

Enterprise Application Integration (EAI) is an integration framework composed of a collection of technologies and services that form a middleware, enabling the integration of systems and applications across an enterprise.[1] A twenty-first century enterprise typically consists of tons of distributed applications, varying percentages of which may be homegrown, acquired, legacy or even a combination of these.

 

Enterprise Integration Patterns (EIP) are design patterns that help in solving recurring problems faced in the integration of enterprise applications.  The Scatter-Gather helps address this question:

 

“How do you maintain the overall message flow when a message must be sent to multiple recipients, each of which may send a reply?”[2]

 

Let us consider the example of a university celebrating its golden jubilee this year.  As part of the celebrations, about 15 buildings in the university campus need to be repainted.  The University requests vendors to submit their quotes for this task and hopes to choose a vendor that strikes a balance between economical pricing and efficiency of timeline in the completion of the painting task.  The quote request is broadcast to all the preferred vendors, but it is not necessary that each vendor responds to the request. 

process_scattergather.jpg

Figure 1. An example illustrating the Scatter-Gather pattern


An Integration Scenario for the Scatter-Gather

 

You may notice the similarities with the Composed Message Pattern, but instead of a splitter sending a sub-message (smaller message) to the recipients, the whole message needs to be broadcast to all the recipients.  The Scatter-Gather then aggregates the responses based on certain well defined parameters.  Here, we may choose the best vendor that can complete the task of painting all the campus buildings in 90 days or less.

 

SAP NetWeaver Process Orchestration Solution Outline

 

pattern_ico21.jpg

Figure 2. An integration scenario for the Scatter-Gather pattern

As depicted in Figure 2, we are dealing with these two integration configurations:

  • Integration Configuration1 (ICO1) – The SAP NetWeaver BPM system broadcasts the message to FolderRx on the Filesystem via SAP NetWeaver PI (AEX).
  • Integration Configuration2 (ICO2) – The quotes from various vendors will be consumed from FolderTx on the Filesystem by SAP NetWeaver BPM using the SAP NetWeaver PI (AEX).


SAP Process Orchestration Scenario

pattern_scenario.jpg

Figure 3. A generic SAP Process Orchestration scenario sequence


The Integration Flows have to be created and activated using the same interfaces that were used in the Business Process.  The generic scenario referenced above applies to most Enterprise Integration patterns.

Note: Only XI 3.0 compatible stateless interfaces are supported.


Process Modeling in SAP NetWeaver BPM

Prerequisites

  • The service interfaces to be used in the process model – Starting Interface and Automated activity – should be created first and then imported from the SAP NetWeaver PI Enterprise Service Repository.
  • For testing the BPM Process from the BPM Process repository, the UME action SAP_BPM_TRIGGER_EVENT should be assigned to the specific user role.


Process Model

model_scattergather.jpg

Figure 4. A Scatter-Gather scenario modeled in SAP NetWeaver BPM

 

The Process Model for a Scatter-Gather scenario is shown in Figure 4.  The steps for modeling the process are enumerated below:

  • The Pattern starts with a service interface.
  • The quote request is broadcast to all the vendors.
  • A timer event starts at this point to keep track of the deadline to receive quotes.
  • Each vendor quote is processed by an aggregator in a loop.
  • An automated activity uses the input mapping to determine and send the best quote to SAP NetWeaver PI.

 

Notes:

  • Use the ‘XI’ service reference instead of ‘WS’ in the configuration settings of the automated activity. The Sender Component also needs to be specified.
  • Use the SAP NetWeaver PI Integration Flow Designer to create the configuration objects in SAP NetWeaver PI
  • Please refer to detailed information on Process Modeling using SAP NetWeaver BPM.

 


[1] Enterprise Application Integration, Wikipedia

[2] Gregor Hohpe & Bobby Woolf, Enterprise Integration Patterns. 2003

[3] Inbound and Outbound are terms used with reference to the application, in this case SAP NetWeaver BPM.

PRO-PartnerEdge-Portal.jpg

 

I am happy to share that a new site for Process Orchestration is now live in the SAP PartnerEdge Portal.

 

Please note: only registered SAP Partners have access to the site.

 

Fom navigation:

SAP PartnerEdge Portal > Partner Login > Database & Technology > SAP NetWeaver > SAP NetWeaver Process Orchestration

 

Our aim is to give our Partners’ organizations access to all valuable materials about SAP NetWeaver Process Orchestration as one integrated experience. There you will find:

 

  • Getting started publications on positioning, roadmap, and customer feedback
  • Solution overview materials
  • Information on B2B add-on and other sales opportunities
  • Initial sales sizing guides and technical information
  • Training materials – presentations and webinar recordings
  • Trial version access
  • Additional resources
  • And many more

 

We will keep improving the site and adding more content over time.

 

Many thanks to Gabriela Gahse for creating this new useful addition for our Partners!

 

Try it out and feel free to contact Gabriela should you have feedback. Contact email is provided in the questions & feedback section.

It is that time of the year when you start looking back to your accomplishments and set the goals for the year coming ahead. You do it with personal life (hope so ;)) and also on the business side as well.

 

I cannot help but feel very happy with SAP NetWeaver Process Orchestration performance during 2012. Not only it has established itself as a recognized brand for SAP on the middleware space providing more to our customers in the end, but it has continued to grow at double digit pace for year another year. This is a testament to the value our solution brings to our Customers' day in an out, and gives us the energy internally to push for more.

 

This is why during 2012, we launched 3 new solutions to market:

 

These solutions not only help strengthen our portfolio from a completeness perspective, but they also address what our customers have been asking us over time.

 

If you are interested in joining any of the RampUp processes post a comment in this blog or send me a message.

 

As we look forward into 2013, we renew our vows to keep delivering. Our adoption is stronger than ever and it is our goal to continue to grow this business hand in hand with our community.

 

Thank you for your support and we hope for an even better 2013 together!

 

 

Hello Everyone,

We have kicked into another year yet. Game on!

December was thrilling with several first time-bloggers! Thanks for joining our communities and keep it up.

I've held a bit on this December issue to be able to include this SCN spotlight as my Tribute to the whole Process Orchestration Community.

Also review Meet the Moderators to see all who help around with the Process Orchestration communities.

It's been great in your company and I really look forward to seeing what we can do forward. May 2013 be your best year yet personally and professionally!

Cheers,

Mariana

 

Moderators’ picks

PRO-on-AWS-SCNhomepage.jpg

SAP NetWeaver Process Orchestration trial was featured on SCN homepage.

More information and licensing update in this blog: Try SAP NetWeaver Process Orchestration in Public Cloud!

Some quick hints for the 90 day trial PO cloud system within a corporate environment

by Matt Harding

Getting Closer to Process Orchestration on AWS

by Sunil Singh

Upgrade Options to the Latest Process Integration or Process Orchestration

by William Li

How to get the best possible answer in the SAP Business Workflow Discussion Space

by Susan Keohan – Thanks Susan for the great advice - really applies to any SCN space!

Vanilla is a nasty flavour for #Workflow events or Help my workflows keep getting turned off!

by Jocelyn Dart

A Day in the Life of an SAP NetWeaver Business Process Management Administrator

by Birgit Heilig

Configuring Async/Sync Bridge on SAP NetWeaver Process Orchestration

by Alexander Bundschuh

 

 

Articles, blogs and eLearning

First time Bloggers!

 

Human Start Events - Putting the User First in Your BPM Process

by Martin Moeller – Thanks for your blog Martin! Keep sharing your knowledge.

 

Calling ABAP RFC in CE BPM 7.2

by Abhijeet Mukkawar – Welcome to blogging Abhijeet and keep sharing!

 

Why use SAP NetWeaver PI for SAP MDM interfacing requirements?

by Keerti Nayak – Congratulations on your first blog Keerti! Keep it up!

 

Trigger NW BPM Process

by Amit Srivastava – Congratulations on your first blog Amit! Keep sharing with the community.

 

Component Based Message Alerting On As Abap

by Anup Kumar Banerjee – Congratulations Anup on your first blog! Keep it up.

 

Creating Password Protected PDF file and Zipping it Using SAP PI

by Srikanth Kakani – Congratulations on your first SCN document Srikanth! Keep sharing.

SAP NetWeaver Process Orchestration Overview – Webinar Presentation and SAP NetWeaver Process Orchestration Overview – Webinar Replay

by Katrin Ahsen

How BPM is being perceived..?

by Bala Krishnan

Process Innovation Capabilities with SAP

by Caspar Laar

Best Practices for Decision Modeling in SAP NetWeaver Decision Service Management and

Controlling the UI Appearance of the BRFplus Workbench

by Carsten Ziegler

Decoding Max Concurrency ,poolWaitTime ,Driver properties in JDBC receiver Adapter Configuration

by Raja Sekhar Reddy

PGP encrypting part of an xml message

by Jason Scott

XQuery and PI: A Match Made in Nasty XML

by James Wood

Handle SOAP with Attachment in SAP PI 7.31

by Aashish Sinha

Enterprise Patterns in Process Orchestration – Claim Check

by Abdul-Gafoor Mohamed

How To Setup Forward Error Handling in PI Scenarios

by Soumya Mathew

How to create and configure Sender Idoc AAE Scenario - PI 7.3

by Juan Manuel

Workflow Background Jobs Description and Useful Workflow Transactions

by Olakunle Lemboye

 

Thanks for reading. If you have missed the previous spotlight, here it is:

SAP NetWeaver Process Orchestration PI | B2B | BPM | BRM on SCN - November

Summary

Enterprise Integration Patterns (EIP) help in solving recurring problems faced in the integration of enterprise applications.  This article introduces the Composed Message Processor – one of the Enterprise Integration patterns in the context of SAP NetWeaver Process Orchestration.

 

Applies to

SAP NetWeaver Process Orchestration EhP1 for SAP NetWeaver 7.3 SP5

 

Authors

Abdul-Gafoor Mohamed & Prashant Gautam

Product Management, SAP NetWeaver BPM, SAP Labs

 

 

The Composed Message Processor Pattern in Process Orchestration

 

Enterprise Integration Patterns – The Composed Message Processor

Enterprise Application Integration (EAI) is an integration framework composed of a collection of technologies and services that form a middleware, enabling the integration of systems and applications across an enterprise.[1] A twenty-first century enterprise typically consists of tons of distributed applications, varying percentages of which may be homegrown, acquired, legacy or even a combination of these.

 

Enterprise Integration Patterns (EIP) are design patterns that help in solving recurring problems faced in the integration of enterprise applications.  The Composed Message Processor helps address this question:

 

“How can you maintain the overall message flow when processing a message consisting of multiple elements, each of which may require different processing?”[2]

 

Let us consider an example.  AceCamz is a major online retailer for Cameras and accessories, including some of the high-end SLR(Single Lens Reflex)  cameras.  AceCamz customers are able to order the camera body, an advanced lens and any accessories in a single order.  The versatility of SLR cameras allows most manufacturers to provide a wide range of accessories for the customers.  Accessories include, but are not limited to these items hot shoe flash, neck strap, cleaning cloth, flash diffuser, lens pen, blower, light reflector, polarizer filter, speedlight flash, UV filter, tripod.  AceCamz allows customers to order the camera and accessories in a single invoice, even though they have two different inventory systems, one for Cameras and the other for accessories.

 

cmp_aggregate.jpg
Figure 1. An example illustrating the Composed Message Processor pattern


An Integration Scenario for the Composed Message Processor

The Composed Message Processor is a message routing pattern that helps in processing a composite message by using a splitter, routing the split messages to certain destinations, and finally aggregates the responses into a consolidated message. 

 

In the example we have considered, a customer orders one or more items from the camera inventory and one or more items from the accessory inventory.  Each of these inventory systems can independently process items.  The prices and promotional offers are still applicable to the main order, which consists of the multiple items on a single invoice.  The single message that comes in (the customer order) is split and processed as multiple messages by the different (inventory) subsystems – whose outputs are finally aggregated and delivered to the destination.


 

SAP NetWeaver Process Orchestration Solution Outline

pattern_ico.jpg

Figure 2. An integration scenario for the Composed Message Processor pattern

As depicted in Figure 2, we are dealing with these two integration configurations:

  • Integration Configuration1 (ICO1) – A message flow can be triggered in Business System S1 that flows through SAP NetWeaver PI (AEX) to SAP NetWeaver BPM.
  • Integration Configuration2 (ICO2) To send the aggregated message back to SAP NetWeaver PI (AEX) from SAP NetWeaver BPM.

 

Note: The message flow from Business System S1 could also be simulated by using the Web Services Navigator, details of which can be found in the SAP NetWeaver Web Services Navigator documentation.


SAP Process Orchestration Scenario

patternscenario.jpg

Figure 3. A generic SAP Process Orchestration scenario sequence


The Integration Flows have to be created and activated using the same interfaces that were used in the Business Process.  The generic scenario referenced above applies to most Enterprise Integration patterns.

Note: Only XI 3.0 compatible stateless interfaces are supported.


Process Modeling in SAP NetWeaver BPM

Prerequisites

  • The service interfaces to be used in the process model – Starting Interface and Automated activity – should be created first and then imported from the SAP NetWeaver PI Enterprise Service Repository.
  • For testing the BPM Process from the BPM Process repository, the UME action SAP_BPM_TRIGGER_EVENT should be assigned to the specific user role.

 

Process Model

cmp_model.jpg

Figure 4. A Composed Message Processor scenario modeled in SAP NetWeaver BPM

 

The Process Model for a Composed Message Processor scenario is shown in Figure 4.  The steps for modeling the process are enumerated below:

  • The Pattern starts with a service interface.
  • A Webservice call retrieves the Order IDs. Each Order ID has multiple Item IDs.
  • A decision box delegates each Item ID to be processed by Inventory System A (Cameras) or by Inventory System B (Accessories).  WebService calls to the inventory systems return success if the items are available.
  • The outputs from the two Inventory systems are then aggregated and a combined invoice is generated with the details.

 

Notes:

  • Use the ‘XI’ service reference instead of ‘WS’ in the configuration settings of the automated activity. The Sender Component also needs to be specified.
  • Use the SAP NetWeaver PI Integration Flow Designer to create the configuration objects in SAP NetWeaver PI
  • Please refer to detailed information on Process Modeling using SAP NetWeaver BPM.

 


[1] Enterprise Application Integration, Wikipedia

[2] Gregor Hohpe & Bobby Woolf, Enterprise Integration Patterns. 2003

[3] Inbound and Outbound are terms used with reference to the application, in this case SAP NetWeaver BPM.

Summary

Enterprise Integration Patterns (EIP) help in solving recurring problems faced in the integration of enterprise applications.  This article introduces the Claim Check – one of the Enterprise Integration patterns in the context of SAP NetWeaver Process Orchestration.

 

Applies to

SAP NetWeaver Process Orchestration EhP1 for SAP NetWeaver 7.3 SP5

 

Authors

Abdul-Gafoor Mohamed & Prashant Gautam

Product Management, SAP NetWeaver BPM, SAP Labs

 

 

The Claim Check Pattern in Process Orchestration

 

Enterprise Integration Patterns – The Claim Check

Enterprise Application Integration (EAI) is an integration framework composed of a collection of technologies and services that form a middleware, enabling the integration of systems and applications across an enterprise.[1] A twenty-first century enterprise typically consists of tons of distributed applications, varying percentages of which may be homegrown, acquired, legacy or even a combination of these.

 

Enterprise Integration Patterns (EIP) are design patterns that help in solving recurring problems faced in the integration of enterprise applications.  The Claim Check helps address this question:

 

“How can we reduce the data volume of a message sent across the system without sacrificing information content?”[2]

 

Let us consider an example. A mattress manufacturer SnooZ, has a manufacturing unit(factory) in Turkey, with hundreds of outlets in Europe where customers can walk-in and experience a variety of mattresses.  There are different models of mattresses based on coil strength, fibres – natural and synthetic – and a few other features.

 

Each customer that walks into a SnooZ outlet can try out the available mattresses and order a customized one with the help of the sales staff at the outlet.  The sales staff submits an order into the system, which generates a delivery date printed on the order receipt.  These orders are aggregated and submitted to the factory thrice a week.  SnooZ wants to achieve customer satisfaction by promising a delivery to the customer within three weeks of the order date.

 

claimcheck.jpg

Figure 1. An example illustrating the Claim Check pattern


An Integration Scenario for the Claim Check

The Claim Check is a message transformation pattern that helps in reducing the payload of a message that flows through a system.  Unlike a Content Filter, the complete message will need to be restored later on, and that requires a key (the Claim Check) to be persisted to facilitate this retrieval.

 

A typical Claim Check integration scenario has the following steps:

  • A message with payload(data) is received
  • Key Generation (This unique key is used later as the Claim Check)
  • Data extraction and Persistence (The key and the extracted data from the message are persisted)
  • Reduction in message footprint and tagging the Claim Check
  • Data Retrieval (using the Claim Check)

 

In this example, the order details, including the customer information, shipment details, mattress specifications are entered into SnooZ's Business System S1 which generates a message to SAP NetWeaver PI (AEX).  The message payload is persisted and the message id (the Claim Check) is passed to SAP NetWeaver BPM (Inbound[3]).  The BPM process awaits the collection of all orders for each accumulation during the week.

 

The BPM process retrieves the details of each order from the data store and sends it to the factory to manufacture the mattresses.  A consolidated message for the orders entering the manufacturing phase is sent to the Business System S1 through PI.

 

SAP NetWeaver Process Orchestration Solution Outline

pattern_ico.jpg

Figure 2. An integration scenario for the Claim Check pattern


As depicted in Figure 2, we are dealing with these two integration configurations:

  • Integration Configuration1 (ICO1) – A message flow can be triggered from SnooZ's Business System S1 that flows through SAP NetWeaver PI (AEX) to SAP NetWeaver BPM.
  • Integration Configuration2 (ICO2)The consolidated message is sent back to Business System S1 from SAP NetWeaver BPM through SAP NetWeaver PI (AEX).

 

SAP Process Orchestration Scenario

patternscenario.jpg

Figure 3. A generic SAP Process Orchestration scenario sequence


The Integration Flows have to be created and activated using the same interfaces that were used in the Business Process.  The generic scenario referenced above applies to most Enterprise Integration patterns.

Note: Only XI 3.0 compatible stateless interfaces are supported.


Process Modeling in SAP NetWeaver BPM

Prerequisites

  • The service interfaces to be used in the process model – Starting Interface and Automated activity – should be created first and then imported from the SAP NetWeaver PI Enterprise Service Repository.
  • For testing the BPM Process from the BPM Process repository, the UME action SAP_BPM_TRIGGER_EVENT should be assigned to the specific user role.

 

Process Model

claimcheck_model.jpg
Figure 4. A Claim Check scenario modeled in SAP NetWeaver BPM

 

The Process Model for a Claim Check scenario is shown in Figure 4.  The steps for modeling the process are enumerated below:

  • The Pattern starts with a service interface.
  • Message IDs that are the input to the system are aggregated.
  • A Webservice call retrieves the details of each order from the respective Message ID.
  • The consolidated message status is updated to reflect the orders entering the manufacturing phase.
  • This is then acknowledged to the PI (AEX) system.

 

Notes:

  • Use the ‘XI’ service reference instead of ‘WS’ in the configuration settings of the automated activity. The Sender Component also needs to be specified.
  • Use the SAP NetWeaver PI Integration Flow Designer to create the configuration objects in SAP NetWeaver PI
  • Please refer to detailed information on Process Modeling using SAP NetWeaver BPM.

 


[1] Enterprise Application Integration, Wikipedia

[2] Gregor Hohpe & Bobby Woolf, Enterprise Integration Patterns. 2003

[3] Inbound and Outbound are terms used with reference to the application, in this case SAP NetWeaver BPM.

I was very eager to get into the system when came across blog by Mariana Mihaylova . With many question on my way I started with yet another helping hand . After following the steps mentioned in the Blog reached to Amazon Web Service (AWS). Like many others I was curious about How AWS charges and came across SIMPLE MONTHLY CALCULATOR .

Just Like installing any other user friendly installation I kept on clicking “Continue” and finally got on the page. But After creating the stack I didn’t know what “Next”!!! For sure this question will be asked by many other folks and here is an attempt to answer those:

After following the steps mentioned in Getting Started, we will land on screen that will help us to create the stack on AWS as below:

CreatStack.jpeg

 

AWS CloudFormation templates give developers and systems administrators an easy way to create a collection of related AWS resources and provision them in an orderly and predictable fashion

For more insight Refer key concept of AWS Cloud

Click “Continue”.

 

Copy of New Bitmap Image.JPG

 

Tag Creation is taken care in the Template provided by SAP so we can just click on remove and then click “Continue”.

 

Copy (2) of New Bitmap Image.JPG

 

Click “Continue”.

 

Summary page will have info as below:

 

Copy (3) of New Bitmap Image.JPG

 

Once we click “Continue” stack will be created within few minutes with Status “Creation Complete”. (Please ignore the status in the below screen as It got updated when template is executed multiple time).

 

 

Copy (4) of New Bitmap Image.JPG

 

Once done go to Services  - > EC2  (Amazon Elastic Compute Cloud (Amazon EC2).

 

Copy (5) of New Bitmap Image.JPG

 

We need not to “Launch Instance” as it is already created. Click on “Instances” in left pan.

 

Copy (6) of New Bitmap Image.JPG

Instance will appear as below:

 

Copy (7) of New Bitmap Image.JPG

 

Select the instance and click on “Action - > Connect”

 

Copy (8) of New Bitmap Image.JPG

 

 

It will show the required details to connect the system with Remote Desktop.

Click on “Download Shortcut File” to launch the system (or from your desktop Run->mstsc)

Use “Administrator” as a user and “Lokal” as password for OS level. (As per template “Retrieve Password” will not work)

 

Copy (10) of New Bitmap Image.JPG

 

Remote Desktop:

 

RemoteDesk.JPG

 

 

Click on SAP Management Consol to start the Services “C73”

 

Once services are started simply type http://localhost:50000/rep to get to Webpage. (While on remote desktop)

Use user Id as “Administrator” and password as “abcd1234” so as to get into the PO.

Don't forget to stop the instance when not in use.  You will be charged for the duration Instance is running.

 

Copy (12) of New Bitmap Image.JPG

 

 

 

In order to get it working within a corporate environment refer blog by Matt Harding.

 

Now it’s Time to get going with PO :-)..

Dear Process Orchestration Community:

 

Here are the highlights from the Process Orchestration - PI, B2B, BPM and BRM communities in November.

 

As the next newsletter will go out in early Jan, I’d like to use this opportunity to wish you a prosperous new year.

 

Special thanks to all new contributors this year. We look forward to reading more from you soon.

 

Many thanks to all continuous contributors for sharing your knowledge and helping the community every now and then.

 

Season’s greetings to All and look forward to working with you in 2013!

 

Cheers,

Mariana

 

Moderators’ picks

SAPPHIRE and SAP TechEd Madrid and SAP TechEd Bangalore brought so much excitement into the SAP world in November.

If you have missed the events you can still watch some session replays:

> Process Orchestration session replays: part 1 and part 2

> all available recordings from all 2012 events can be found here

SAP Operational Process Intelligence was announced at SAPPHIRE and SAP TechEd Madrid.

Read the news here. We are very excited about the launch of this new offering and will be sharing more details soon.

SCN-feature-November.jpgWhich #Workflow Inbox When?  Pros and cons for SAP Business Workflow and SAP NetWeaver #BPM

Jocelyn Dart, one of our most active moderators and contributors was featured on SCN’s homepage. If you have missed this wonderful blog take a look now and join the conversation.

 

More by Jocelyn Dart this month:

Don’t try this at home: Why you should never physically delete workflows

Advantco AMQP Adapter for SAP PI

by Peter Ha

Welcome Hanish John in the Process Orchestration Moderators’ Team on SCN

by Mariana Mihaylova

All fellow moderators of the Process Integration space

Please add your picks here: PI Moderators' Picks

Create your own SAP NetWeaver Process Orchestration test environment on Amazon Web Services (AWS)!

We are very excited to have this offering. Thanks to the SAP Labs Bulgaria teams and everyone who made this possible! Read the intro blog Try SAP NetWeaver Process Orchestration in Public Cloud! and the getting started doc

 

 

First feedback:

Some quick hints for the 90 day trial PO cloud system within a corporate environment by Matt Harding

BPM Reporting API: Description and Usage

by Vasil Tsimashchuk

 

BPM surveys - Your feedback counts!

SAP NetWeaver BPM Customer Survey - We Want Your Feedback!

A survey especially designed for productive SAP NetWeaver BPM Customers. Share your experience with us and help us innovate and support your organization even better going forward. Please share forward. Thank you!

SAP NetWeaver BPM Developer Survey - We Want To Hear From You!

Are you a SAP NetWeaver BPM Developer? Please share with us what SAP tools and technologies out of Composition Environment stack you are using today. Thank you for sharing forward!

 

Articles and Blogs

What's new in NetWeaver BPM 7.31 SP05

by Christian Loos

Timer Interrupt pattern with SAP NetWeaver BPM

by Kristiyan Marinov

Message Mapping : Play around with target structure

by Sunil Chandra

Adding Carriage Return or Line Feed IN xml FILE using JAVA Mapping through Command Prompt

by Gagandeep Batra

Message Staging and Logging Options in Advanced Adapter Engine of PI 7.3x

by Vadim Klimov

How to Test Message Mapping Using the Eclipse Tool (NWDS) and

How to Create User-Defined Function for Message Mapping Using NWDS

by William Li

Process Integration within Eclipse

by Shabarish Vijayakumar

Migration testing in SAP PI projects

by Daniel Graversen

Interface determination error – a tricky workaround!

by Ninu Sankar

To Dual Stack or Not Dual Stack?

by James Wood

SAP NetWeaver BPM/PO or SAP Business Workflow - Which one to use ?

by Owen Pettiford

Goo goo gaa gaa BPMN

by Alan Rickayzen

BPM Process in a Day

by Gregor Mueller

How to Monitor BPM with Solution Manager

by Svetoslav Halachev

SAP Insider: Tune Your Business Processes and Boost Your Bottom Line

by Samuel Jesgarz

SAP NetWeaver DSM Overview Presentation

by Wolfgang Schaper

SAP Workflow - my first workflow

by Vikas Gautam

Recently, there have been a lot of questions and confusions over the options available for customers to upgrade to the latest version of Process Integration (PI) or Process Orchestration (PO).

 

These confusions came mainly from PI customers with volume-based licenses.  And, these customers want to upgrade to PO.

 

Let us first look at the basic product information for Process Orchestration (PO):

  • PO is a bundled product of PI, Business Process Management (BPM) and Business Rule Management (BRM).
  • PO is licensed based on CPU.
  • With PO, PI can be installed as dual-stack or single-stack (AEX).
  • If PI is installed as AEX, PO can be installed using the same system ID (SID), meaning PI, BPM and BRM are installed on one JEE server.  This will improve TCO due to savings in hardware, support and administration.  There are also performance improvements due to internal processing of messages between PI and BPM/BRM.
    pic1.png
  • AEX can also be installed by itself on one SID, with BPM/BRM installed on a different SID.  With this option, BPM/BRM cannot be added to AEX at a later time; a new installation will be required.  (In my opinion, this is not recommended for a PO license unless there is a special reason to do so.  However, this might be a valid path for PI volume-based license as stated below.)
    pic2.png
  • If PI is installed as dual-stack, then PO, PI and BPM/BRM, will have to be installed with different SIDs.  PI on one SID and BPM/BRM on a different SID.
    pic3.png

For PI customers with CPU-based license, they can go to PO by converting their license from PI to PO.  Generally speaking, this is a direct license conversion. 

 

For PI customers with volume-based license, below are the options:

 

Option 1 Convert the license from volume-based to CPU-based.  Contact your Account Executive to convert these licenses and apply credits as appropriate after dimensioning existing usage to CPU.
Option 2
  • Continue to upgrade to the latest release of PI under the existing volume-based license.  The PI installation can be dual-stack or AEX.
  • License BPM/BRM separately.
  • Installation of PI and BPM/BRM must be on separate SIDs.
  • In order to install PI, BPM and BRM on the same SID, the license must be converted from volume-based to CPU-based.

 

The bottom line is that PO is a bundled product of PI, BPM and BRM.  It can be installed using different options, with a single SID or 2 SIDs.  To install as a single SID, PO must be licensed.

The New PO Cloud Trial

I'm really enjoying getting my hands dirty with my sandpit PO system. Working a charm and a really great thing SAP has done.  Takes about 5 minutes to establish (if you have an AWS account already). Very cool.  Quick note - You do need to know a bit about JAVA systems until more doco comes out, but not much.

 

So I started to reply to Mariana Mihaylova 's blog and realised it's a little long as a comment so here's a rushed Blog before I take off for Holidays!

 

Anyway, the point being is I just wanted to provide some pointers for those working within a corporate firewall that blocks port 50000 amongst other things. Here's some easy steps to make it work inside your corporate network, and use tools locally rather than within the remote desktop. Not perfect yet, but not far off I believe.

 

Port 50000 and Remote Desktop!

 

Firstly, you may need to configure some of this outside your corporate network as remote desktop is absolutely necessary to get you going.

 

Now getting access in your enterprise; well enterprises usually block port 50000 which PO is configured for, so one easy safe way to fix this is to add a new JAVA port to listen on and leverage 80 or port 443 which are generally open. 

 

To do this is trivial - go into the C:\usr\sap\C73\SYS\profile and open C73_J00_ip-0A4F07E3 and just after the jstartup/vn/home line, add the following lines:

 

# <protocol> port configuration

icm/server_port_4 = PROT=HTTP,PORT=80,TIMEOUT=60,PROCTIMEOUT=600

 

Restart your JAVA instance and the java system can be accessed through http://localhost.

 

Next step - Turn off the windows firewall (did not realise that woudl be on in this environment.

 

Now time to head into the office.

 

Semi-Safe opening of Port 80

 

Once in the office, go to the EC2 Management Console and go to Security Groups. Make sure you view "All Security Groups", and not EC2 Security Groups. You'll see your PO's security settings under something like "SAP-NWPO-731-in-us-east-1-InstanceSecurityGroup-blah". Now it might be a good idea to lock down your 3389 port unless you need to remote desktop (open to the world may not be the best idea at least). 

 

Now from your corporate IE browser - since Chrome is not allowed ;-) - go to Google (if you can) and ask it "what is my IP" and the Google will tell you your external facing IP address.  Now within the EC2 console, Create a new Rule for HTTP, and use your external facing IP address with "/32" added to the end of it. "Add Rule" then "Apply Rule Change" (Don't worry, Amazon will force you to get this right).

 

Now hopefully if you open your browser to your elastic IP address, you should see the default JAVA Engine index page.

 

Curse Localhost and port 50000

 

At this point, you can do quite a bit with a local NWDS that you need to install separately (make sure you get the SP5 Process Orchestration version), but there's still a heap of stuff that points at localhost:50000.  To fix that, I did what is probably a little dodgy and went to http://<ip address>/webdynpro/dispatcher/sap.com/tc~lm~itsam~ui~mainframe~wd/FloorPlanApp?applicationID=com.sap.itsam.cfg.java.systemproperties&isLocal=true#

 

i.e. In JAVA, the exchange profile info is stored in a different place. From the PI admin page it points you to this NWA administration page.

 

This is not probably fully correct, and happy to be corrected, but I just went into the Services tab, selected XPI Service: All Config Service, then adjusted all the parameters with localhost to the IP address, and all the 50000 ports to 80.  Yep - Probably broke my whole system, but that's where I'm up to and things have worked out pretty well so far. Still not fully working but it's close.

 

General Thoughts on Single Stack PO/PI

 

As I'm one of those annoying Architects who tends to set standards and do quality checks on SI consultants, I started to play around with the changes in 7.31 to see if I would structure things differently than the old PI dual stack. I'd played with the single stack for a couple of years at SAP TechEd, but never really tried to identify a true enterprise pattern for the most common pattern in PI of a sender to receiver via some kind of canonical message model (optimised for throughput).

 

Anyway, once I played with the Integration Flow (which makes PI so much easier for newbies IMO), figured out what dependencies were required, I ended up with the following thinking...

 

Consider Source SWCV, Target SWCV, a Global/CMM/Canonical SWCV and an Integration SWCV.

 

The Global SWCV contains the Canonical Message Type.

 

The target and source system SWCV contains their associated Message/Data Types and Service Interface plus the message mapping to the Canonical.

 

Now for the interface/operation mapping (much easier to think of this as an interface mapping IMO), we map from Source to Target in the Global SWCV because it is really the only SWCV that knows how to get from source to target with the 2-stage mapping. And to do this, I need to make sure that Global is dependent on Source and Target.

 

Now what is the Integration SWCV for? Well for value mappings, and reusable stuff and stops us having circular dependencies with the Global from Source/Target SWCV's.

 

And yes - I'll explore BPM within PI patterns in the future but it's a hard sell to PI consultants at the moment unfortunately and as per my original requirement, I was looking for an optimised pattern for this scenario.

 

Wrap-Up and Happy Holidays

Anyway, hope that is of use and we can refine the details as others explore playing with PO and get a nice humming PO system. Feel free to challenge any of this, and I encourage all PI people to leave your comfortable Swing clients and get into NWDS so we can really find all the bugs and get the right features added in the next 1 or 2 Support Packages!

 

See you Next Year,
Matt

 

Some minor updates after this was published...

Within your NWDS, you may have a problem with connecting to your PO instance. This is probably because you have a Proxy in your network. To fix this, go into Windows Preferences of NWDS, and within Network, create a manual Proxy setting, pointing it at your proxy server and port (found in IE), and enter your domain username/password if necessary (prepending your domain like DOMAIN\harding,).

Licensing update:

You can now request a new free 90-day license key from here using C73 System ID:

https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/minisap/minisap.htm

Try SAP NetWeaver Process Orchestration on AWS -

From Design Time to Run Time in No Time!

SAP NetWeaver Process Orchestration trial development environment is now available in Amazon Web Services (AWS). Set up your own hands-on experience quickly with the latest pre-installed SAP NetWeaver Developer Studioand the sample pre-configured applications.

 

What do you get

  • SAP is giving you a free license to build, test and demo SAP NetWeaver Process Orchestration.
  • Access to a pre-installed AWS instance with SAP NetWeaver Process Orchestration. Please note that the AWS will charge you for hosting.
  • SAP is covering software delivery, cloud image building, listing and updating. You get cloud-deployed SAP software with content, pre-installed, pre-configured to specific project needs.

 

The value for our customers and prospects is that they can try SAP NetWeaver Process Orchestration and gain confidence in the solution before buying it.

 

Try the software for which Gartner named SAP a Leader in Application Infrastructure Magic Quadrants. Read the press release here.

 

NW-PRO-logo.jpg

Create your own SAP NetWeaver Process Orchestration environment on AWS now!

> Step by step instructions including access link in this document.

 

> In this blog you will find next steps for launching your instance via AWS CloudFormation.

 

 

 

Next steps

At the end of the trial period, please contact your SAP Account Executive.

 

Alternatively apply for license via Service Market Place (S-user required): https://websmp205.sap-ag.de/swdc

Follow this path:

> Installations and Upgrades

> A-Z index

> N --> SAP NetWeaver --> SAP EHP1 FOR SAP NETWEAVER 7.3

> Installation and Upgrade

 

Detailed instructions how to download from SMP in this blog: Download and Installation of Process Orchestration 7.31

 

Useful Links

 

 

 

Special thanks to all SAP Labs Bulgaria teams and all colleagues involved for making this possible! We hope you enjoy as much as we do.

SAP-DEV.jpg

SAP NetWeaver Process Orchestration combines the power of SAP NetWeaver Business Process Management, SAP NetWeaver Process Integration and SAP NetWeaver Business Rules Management into one integrated offering. The solution provides all components your organization needs to quickly automate and optimize business processes - from simple workflows to integrated processes that span applications, geographies, and organizational boundaries. Read the introduction to SAP NetWeaver Process Orchestration.

It is a great pleasure to share with you that our Moderators’ team is growing again!

 

Our newest member is Hanish John, partaking in the SAP’s North America Middleware Practice.

 

Hanish is an experienced consultant with nearly 8 years of expertise in the SAP NetWeaver Process Integration area. He specializes in both A2A and B2B integration particularly in end to end PI implementations.

 

Hanish has multiple PI certifications. Over the years he has been working in several roles varying from development to lead in different projects. Some of his responsibilities include positioning of PI in customers landscapes, providing PI strategy to customers, PI solution audits, governance, mentoring, development and performance tuning.

 

He has participated in international projects in countries like Canada, Singapore, Australia, India and the United States. He has been instrumental in driving eSOA implementation at some of the SAP customers he worked with.

 

Hanish will help drive our Process Orchestration and B2B Integration communities.

 

Welcome to the team Hanish! We look forward to working even more closely with you.

Directory Content Migration Tool

 

Introduction

The Directory Content Migration Cockpit is an automated tool that provides migration and mass change functionality for PI scenarios and channels. It is a Java Web Dynpro web application based on the Directory Program Interface API. It is delivered as a standard monitoring component for PI.

 

The tool significantly reduces the efforts of migrating directory artifacts when the system is upgraded. 

 

Its key value is realized through the automation of:

  • The conversion of classical scenario configuration to Integrated configuration
  • Migration of scenarios between releases having no direct upgrade path
  • Migrating from dual stack to single stack
  • The conversion of ABAP based channels to their Java equivalent

    • ABAP IDOC adapter converts to Java IDOC AAE adapter

    • ABAP XI adapter converts to Java SOAP adapter with XI 3.0 message protocol

    • ABAP HTTP adapter converts to Java HTTP AAE adapter

    • ABAP WS Adapter conversion is not implemented

  • Mass updation of channel properties
  • Mass movement of channels

 

The directory content migration tool automates the steps of the above stated activities, thereby reducing the number of manual steps.

 

The tool runs on the target, and needs no installation/settings on the source.

The target system should be a 7.3X or higher system. It supports all source system releases starting from XI 3.0.

 

All scenario migrations are based on Sender Agreements. Those scenarios that do not have a sender agreement are out of scope.

 

It allows selecting one or multiple classical scenarios and converts them to Integrated Configuration before moving to the target system.

 

The tool also allows renaming the artifacts during scenario migration, either in the tool or through pre-constructed renaming rules.

 

Additionally, in case the migration is happening to a fresh system, the tools automatically also creates the dependent artifacts; like channel, service and party.

 

Accessing the tool

The Directory Content Migration tool runs on the target system and can be accessed via:

http://<targetSystem_host>:<targetSystem_port>/webdynpro/resources/sap.com/tc~pi~tools~dirmig~wd/DirectoryCockpit

 

Authorizations

In order to execute the Directory Content Migration tool, we need a user on the source and target system with the following authorizations:

Source System:

SAP_XI_API_DEVELOP_J2EE

SAP_XI_API_DISPLAY_J2EE

Target system:

SAP_XI_API_DEVELOP_J2EE

 

Availability

The Directory Content Migration tool will be available from:

NW Process Integration 7.30 SP9: Q4 2012

NW Process Orchestration 7.31 SP7: Q2 2013

 

UI

The screenshots below give a brief idea about the look and feel of the Directory Content Migration tool.

Please double-click on the image to see the enlarged version
Untitled.jpgUntitled.jpg

Untitled.jpg

Untitled.jpg

Untitled.jpg

Untitled.jpg

Untitled.jpg

Filter Blog

By author:
By date:
By tag: