Sei sulla pagina 1di 53

GetResource Inc.

1 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Advanced Topics
GetResource Inc.
2 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Objectives

• After completing this lesson, you should be familiar with:


– Interoperability
• B2B Configuration Wizard
• Routing Id / Parameters / Directives
• Identifiers required by Translator
• Web Services
– Tuning
– Utilities
– End to end troubleshooting – where is my order?

GetResource Inc.
3 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Interoperability

GetResource Inc.
4 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
B2B Configuration Wizard
The wizard creates the
binding between Oracle B2B
and the composite
• Service Name
• Integration Types
– Default
– AQ
– JMS
• Application Server Connection
– Connection
• Operation
– Send
– Receive
GetResource Inc.
5 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
B2B Configuration Wizard
Document Definition Handling
This step determines how the document will
defined and delivered to the composite
Import Schema Imports the schema from Oracle B2B

Refer to Schema in B2B Metadata Service (MDS) connection to


Repository access the B2B repository.

Browse Resource Browse for a schema using the SOA


Schema Resource Browser
Opaque Data content is passed in base-64
encoding. No schema is specified

anyType Any type of XML data. No schema is


specified
Attachment Data is an attachment

GetResource Inc.
6 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
B2B Configuration Wizard

• Document Definition
– This step selects the document definition
in Oracle B2B
– The document must be in an active
agreement
– Routing Id
— Default Alternate identification
— JMS The consumer
— Oracle AQ The consumer

GetResource Inc.
7 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
SOA / B2B Interoperability
Routing Ids / Parameters / Directives
Information must be exchanged to/from Oracle B2B and the
middleware for each domain to function. Partner and document
information is required for routing, context and identification. The
constructs are:
Routing ID Inbound: used to identity documents
Parameters Basic • Outbound identifies Agreement
• Inbound used for routing
Overrides / Directives Overriding settings, sequencing, broadcasting, ..

Translator Standard, Version, GUID Outbound used by translator


Internal-properties Outbound overrides HL7 / EDI envelope

GetResource Inc.
8 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
The B2B “Routing Id”
In Oracle B2B, the document definition has a setting “Routing Id”, it
is used for:
• Oracle AQ / JMS :
– The routing id will be set as the consumer
– A unique consumer for each document type enables multiple
processes to access the same queue set
• Composite
• If used in the B2B binding component the “Routing Id” will be
used instead of the document definition

GetResource Inc.
9 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Parameters
Exchanging information between Oracle B2B and the middleware
When information is exchanged between Oracle B2B and the
middleware a set of parameters are sent with each message. They
are used to:
• Oracle B2B to middleware
– Routing
– Enhancing the business process
• Middleware to Oracle B2B
– Agreement identification
– Document Correlation
– Functional Acknowledgment Correlation
– Overriding channel information
– Overriding settings
– Sequencing
– Broadcasting
– …
GetResource Inc.
10 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Parameters
Exchanging information between Oracle B2B and the middleware
Basic Parameters
Fabric JMS Prefix:
Oracle AQ
Prefix: b2b jca.jms.JMSProperty
MSG_ID messageId MSG_ID
INREPLYTO_MSG_ID replyToMessageId INREPLYTO_MSG_ID
FROM_PARTY fromTradingPartnerId FROM_PARTY
TO_PARTY toTradingPartnerId TO_PARTY
DOCTYPE_NAME documentTypeName DOCTYPE_NAME
DOCTYPE_REVISION documentProtocolVersion DOCTYPE_REVISION
ACTION_NAME action ACTION_NAME
MSG_TYPE messageType MESSAGE_TYPE
conversationId CONVERSATION_ID
documentDefinitionName DOCDEF_NAME
documentProtocolName DOCPROTOCOL_NAME
fromTradingPartnerIdType FROM_PARTY_ID_TYPE
toTradingPartnerIdType TO_PARTY_ID_TYPE
PAYLOAD body PAYLOAD
ATTACHMENT attachment ATTACHMENT
GetResource Inc.
11 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Parameters
Overriding / Directives
A set of parameters that overrides settings and provides additional
functionality.
Feature Description
Dynamic IP Override default MLLP / TCP/IP IP & port
Dynamic EMail Override default eMail
Email Subject Override default Subject
File Name Use for AS2 Filename preservation
Content Type Use for AS2 to set context type, in conjunction with filename
Broadcast A document can broadcasted to a group of partners
Sequencing Document are sequence under this group (MLLP / TCP/IP )
Large Payload Flag
Action Supplies ebMS Action for identification
Service Supplies ebMS Service for identification
Service Type Supplies ebMS Service Type for identification
From Role Supplies ebMS From Role for identification
To Role Supplies ebMS To Role for identification
Override ConnectionMode Overriding ConnectionMode
Custom Header Custom Header
GetResource Inc.
12 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Parameters
Overriding / Directives

Details:
10g: ACTION_NAME=
Feature Fabric - Prefix: b2b. Use
11g: jca.jms.JMSProperty.ACTION_NAME=
Dynamic IP DYNAMICIP:<IP Address> toDynamicIP MLLP, TCP/IP

Dynamic EMail DynamicEmail:<email address> toDynamicEmail Generic Email


Email Subject EmailSubject:<subject> toEmailSubject Generic Email
File Name filename:<file name> fileName AS2
Content Type contentType:<content type> contentType AS2
Broadcast Grouping:<group name> toTradingPartnerGroup All protocols
Sequencing TARGET:<target> sequencingTarget MLLP, TCP/IP
Large Payload LARGE_PAYLOAD XML Reference All protocols
Action ACTION:<Action name> action ebMS, File, FTP
Service SERVICE:<Service name> ebms.Service ebMS
Service Type SERVICETYPE:<Service Type> ebms.ServiceType ebMS
From Role FROMROLE:<From Role> ebms.FromRole ebMS
To Role TOROLE:<To Role> ebms.ToRole ebMS
Override ConnectionMode CONNMODE:<ConnectionMode> b2b.connMode MLLP
Custom Header CUSTOM_HEADER:<Value> b2b.customHeader
GetResource Inc.
13 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Identifiers required by Translator
Standard, Version, GUID

For any message that requires translation by Oracle


B2B, the following parameters are required:
• Standard: X12
• Version: V4010
• GUID: {12345678-1234-1234-1234-123456789012}

GetResource Inc.
14 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Overriding Envelope Information
Internal Properties
The XML Schema generated by the Document Editor contains “Internal
Properties” that enables a user to override the defaults, in Oracle B2B, that are
used to generate the envelope for outbound transaction sets. In inbound
direction this structure supplies additional information for processing. Example
XML
<?xml version="1.0" ?><Transaction-850 xmlns="urn:oracle:integration:b2b:X12/4010/850"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" XDataVersion="1.0“
Standard="X12" Version="V4010" GUID="{12345678-0002-1234-1234-123456789012}">
<ns0:Internal-Properties>
<ns0:Data-Structure Name="Interchange">
<ns0:Property Name="InterchangeSenderID">OracleServices</ns0:Property>

<ns0:Data-Structure Name="Group">
<ns0:Property Name="GroupSenderID">OracleServices </ns0:Property>

<ns0:Data-Structure Name="Transaction">
<ns0:Property Name="TransactionID">850</ns0:Property>

</ns0:Data-Structure>
</ns0:Data-Structure>
</ns0:Data-Structure>
</ns0:Internal-Properties>
<ns0:Segment-ST Type="">

GetResource Inc.
15 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Overriding Envelope Information
X12 example
Interchange elements
Interchange
InterchangeAuthorizationInfoQual InterchangeComponentElementSep
InterchangeAuthorizationInfo DecimalSeparator
InterchangeSecurityInfoQual InterchangeComponentElementSep
InterchangeSecurityInfo DecimalSeparator
InterchangeSenderQual ElementDelimiter
InterchangeSenderID ReleaseCharacter
InterchangeReceiverQual RepeatingSeparator
InterchangeReceiverID SegmentDelimiter
InterchangeDate SubelementDelimiter
InterchangeTime InterchangeChildCount
InterchangeControlStandard_RepeatingSeparator InterchangeTrailerControlNumber
InterchangeControlVersion
InterchangeControlNumber
InterchangeAckRequested
InterchangeUsageIndicator

GetResource Inc.
16 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Overriding Envelope Information
X12 example

Group & Transaction elements


Group Transaction
GroupID TransactionID
GroupSenderID TransactionControlNumber
GroupReceiverID TransactionImplementationReference
GroupDate TransactionChildCount
GroupTime TransactionTrailerControlNumber
GroupControlNumber
GroupAgencyCode
GroupVersionNumber
GroupChildCount
GroupTrailerControlNumber

GetResource Inc.
17 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Exception Handling
The exception payload, ipException.xsd

– Any error in Oracle B2B will result in an exception being raised


and sent to the middleware.
– Default
• Exceptions are sent to the middleware in memory
• Create a composite, an error handling framework, to capture this
exception and execute appropriate response

• Note:
• Composite, “b2b_025_b2b_exception” in your installation will process
all exception that are raised
GetResource Inc.
18 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Exception Handling
The exception payload, ipException.xsd
– Any error in Oracle B2B will result in an exception being raised and sent to
the middleware.
– Optional:
• A JMS Queue for can be set Error Message Delivery
– Create an internal JMS delivery channel
– Set the channel in the configuration screen

GetResource Inc.
19 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Web Services
Middleware Side

• Access to pages
• http://localhost:8001/b2b/services
• OutboundService
– Test: http://localhost:8001/b2b/services/OutboundService
– WSDL: http://localhost:8001/b2b/services/OutboundService?wsdl

• TranslateService
– Test: http://localhost:8001/b2b/services/TranslateService
– WSDL: http://locahost:8001/b2b/services/TranslateService?wsdl

GetResource Inc.
20 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Web Service: Outbound Document
Web Service enabling the submission of a message to Oracle
B2B for processing to the Partner.
Response Parameter
Header Data Type Example Description Req
from String Host name or identification value No
to String Partner name or identification value Yes
@type String DUNS Identification type No
documentProtocolVersion String 4010 Document type version Either
documentTypeName String 850 Document type name
action String PO ebMS action name Or
service String PO_Service ebMS service name
serviceType String PO_Type ebMS service type
messageId String Used to create APP_Message. No
replyToMessageId String Original Message ID for correlation No
messageType String String Type of the message No
encoding String UTF-8 Encoding format No
payload Xsd:anyType Holds the payload Yes
attachment Xsd:anyType Attachment No

GetResource Inc.
21 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Web Service: Outbound Document
Web Service enabling the submission of a message to Oracle B2B for
processing to the Partner.

Response Parameter
Header Data Type Description Req
isTransmitted Boolean If true, the message was successfully transmitted Yes

Fault Message Parameter


Header Data Type Description
ExceptionMessage String If a fault is found, the Exception Stack Trace is transmitted.

GetResource Inc.
22 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Web Services : Translate
Translate Web Service to translate XML (xData) to native format

Trading Partner Agreement Setup Request Parameters


Header Data Type Example Description Req
from String Host name or identification value No
to String Partner name or identification value No
@type String DUNS Identification type No
documentProtocolVersion Strin 4010 Document type version Yes
documentTypeName String 850 Document type name Yes
encoding String UTF-8 Encoding format No
payload Xsd:anyType Holds the payload Yes

Response Parameter
Header Data Type Description Req
payload Xsd:anyType Translated message, with the same encoding type sent in the request. Yes

Fault Message Parameter


Header Data Type Description
ExceptionMessage String If a fault is found, the Exception Stack Trace is transmitted.

GetResource Inc.
23 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Oracle B2B
Performance Tuning
Tuning is based on the specific requirement of the implementation
– JAVA
– MDS Caches
– Threading (Inbound/outbound0
Oracle Jrocket $DOMAIN_HOME/bin/setSOADomainEnv.sh
export JAVA_VENDOR Oracle
DEFAULT_MEM_ARGS="-Xms1024m -Xmx1024m"
Sun JVM $DOMAIN_HOME/bin/setSOADomainEnv.sh
export JAVA_VENDOR Sun
DEFAULT_MEM_ARGS="-Xms1024m -Xmx1024m"
if["$JAVA_VENDOR"!= "Oracle"];then
DEFAULT_MEM_ARGS="$DEFAULT_MEM_ARGS -XX:CompileThreshold=100000 -
XX:PermSize=256m -XX:MaxPermSize=256m"
MDS Cache Size Property: b2b.mdsCache (xmx size & mdscache 5:1 range)

Number of Threads b2b.inbound.threadCount (2 GB box, setting 3 - 5 )


b2b.inboundThreadSleepTime
(Properties) Property: b2b.outbound.threadCount (2 GB box, setting 3 - 5 )
b2b.outboundThreadSleepTime
b2b.default.threadCount (10~1000 )
GetResource Inc.
24 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Oracle B2B
Performance Tuning
Tuning is based on the specific requirement of the implementation
– JAVA
– Message size
– Stuck threads
– MDS Table Space
Protocol Default 10mb. If B2B sends/receives or imports/exports > 10mb adjust
Message Size Environment > servers > soa_server > protocols > General > change Maximum Message
Size

Stuck Thread Environment > servers > soa_server > Configuration > Tuning > change Stuck Thread Max
Max Time Time Defaut 600s max 1200s

MDS Tablespace Defaulted 150M


ALTER TABLESPACE sh_mds add DATAFILE 'sh_mds01.DBF' SIZE 100M autoextend on
next 10M maxsize unlimited;

GetResource Inc.
25 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Oracle B2B
Utilities
Many of the administrative functions can be performed via command-line
utilities
ant -f ant-b2b-util.xml b2bimport -Dexportfile=“my_export.zip”
b2bpurge mode, msgstate, start, end, purgecontrolnumber
b2bimport exportfile, overwrite
b2bupgrade exportfile
b2bexport exportfile, tpname, tpanames, active, policies
b2bdeploy tpanames
b2bvalidate mdsreference
b2bcpaimport propfile
b2bcpaexport propfile
b2bcreate-cpaprop propfile
b2bselfservice profile
b2bresubmit msgid, fromdate, todate, agreement, msg

GetResource Inc.
27 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Oracle B2B
Archive
To archive instance data, Oracle B2B utilizes
Oracle Data Pump
• Data can be archived and restored
b2b_archive_procedure fromDate
toDate
messageState
fileName
should_purge
b2b_restore_procedure fileName

GetResource Inc.
28 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Where is my order – B2B troubleshooting
tips

GetResource Inc.
29 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Where is my order?
Example
• 850 received from Market Inc
• MDN and 997 sent back by B2B
• MDN received back for 997
• Market Inc expects a business
response 855
• No 855 received by Market Inc
in 24 hours
• Market Inc calls with the 850
order id to inquire message
status

GetResource Inc.
30 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Tracing Inbound Message

GetResource Inc.
31 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Where is my order?
Tracing inbound message - Basics
• Step 1 - Start in B2B UI
– Check Reports
• Wire, Business, App, Error Message
– Search by order id (Advanced
options in Business Message)
• Must have set xpath expression for order
id in document definition at design time Eg:
/*[local name()='Transaction-850']/*[local
name()='Segment-BEG']/*[local name()='Element-92']

• Step 2 – check EM
– If everything looks ok in B2B, check EM
for errors in composite
– Go to EM console
• Check composite instance, flow trace for
errors
GetResource Inc.
32 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Where is my order?
Step 1 – B2B UI
• Start in B2B UI
• Log into B2B UI
• http://soaserver:8001/b2b
• Click on Reports tab
• Select Business Message
tab

GetResource Inc.
33 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Business Message Report
• Click on Business Message tab
• The Business Message Report provides business message
instance details for a document. It includes:
– Details, Status, Document Type, Agreement, Sender, Receiver,
Receiver Time Stamp, Send Time Stamp, Create Date
• Select the business message or search using the advanced
search options by order id

GetResource Inc.
34 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
B2B Reports - Searching for message with the order id
• All report have reports have a standard search facility

• The advanced option enables addition fields for query. Enter the xpath
expression for order id (as specified during design time)

GetResource Inc.
35 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Business Message Report - Details
• Click on Details
• Check Business Message
for any errors
• If no errors, then check
the Wire Message reports
by clicking on the Wire
Message

GetResource Inc.
36 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Wire Message Report
• The Wire messages Report are the native format of data sent from
partners. It includes:
– Details
– State
– Transport Protocol
– URL etc.
• Select message from the list or search for message using the order id

GetResource Inc.
37 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Wire Message Report - Details
• The Wire Message details automatically pop up
• Check for errors
• If no errors, check
App Message reports by going
back to Business Message
details and clicking on
App Message

GetResource Inc.
38 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Business Message Report - Details
• Check App Message
reports by clicking on
the App Message link

GetResource Inc.
39 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Application Message Report
• The Application Message Report provides information related
to the SOA Composite.
– This is the SCA Infrastructure Normalized Message
– The default report includes: Details, Sender id Type, Sender Value,
Receiver Id Type, Receive Value ,Document Type, Document definition,
Document Protocol Name, Document Protocol Version, Direction State,
Composite name, Composite Versions, Reference Name, Service name
– Select the message from the list below or search using the order id

GetResource Inc.
40 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Application Message Report - Details
• App message details will automatically pop up
• Check for errors
• If no errors then the message
has been delivered to the composite
• Note the composite instance id

GetResource Inc.
41 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Where is my order? - Step 2 – Enterprise Manager
• If there are no errors in the
B2B UI, the next step is to
check errors in the
composite
• Log into Enterprise
Manager
• http://soaserver:7001/em

GetResource Inc.
42 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Enterprise Manager
SOA Composites, Faults and Flow Trace
• Once logged in to EM, select the
composite under SOA
• Check for any Faults
• Click on the composite instance id
(available from the App Message reports)
to view the Flow Trace
• Check the State of various steps
and click to view details/errors

GetResource Inc.
43 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Tracing Outbound Message

GetResource Inc.
44 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Where is my order?
Tracing outbound message - Basics
• Step 1 - Start in Enterprise
Manager
– Check SOA Composite
• Faults, Flow Trace, B2B binding
reference
• Step 2 – check B2B UI
– If everything looks ok in EM,
check B2B
– To go to B2B UI automatically
• Click on B2B binding in the Flow
Trace of the composite
• B2B UI Application Message
Reports for the message will open
up
GetResource Inc.
45 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Where is my order?
Step 2 – Enterprise Manager
• Log into Enterprise
Manager
• http://soaserver:7001/em

• Select SOA on the left


• Click on the composite
name

GetResource Inc.
46 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Enterprise Manager
SOA Composites, Faults and Flow Trace
• Once the composite is selected,
click on the composite instance
• Check for any Faults
• Check the state of various steps
and click to view details/errors
• If no errors, click on the B2B
binding reference to open up B2B
Reports
• Check for errors in B2B Reports

GetResource Inc.
47 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Application Message Report
• The Application Message Report provides information related
to the SOA Composite.
– This is the SCA Infrastructure Normalized Message
– The corresponding application message will automatically open up in
the B2B Reports when B2B binding reference is clicked in EM
– The application message can also be searched on the Application
Reports page

GetResource Inc.
48 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Application Message Report
Details
• Drill down on the message details by clicking on Details
• Check for errors
• If no errors then check
Business Message
Reports next

GetResource Inc.
49 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Application Message Report
Details
• Click on Business Message to bring up the corresponding
Business Message
• Check for errors
• If no errors then check
Wire Message
Reports next

GetResource Inc.
50 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Business Message Report - Details
• Drill down on the message details by clicking on Details
• Check for errors
• If no errors, check Wire Message
Reports by clicking on the link to
corresponding Wire Message

GetResource Inc.
51 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Wire Message Report - Details
• Drill down on the message details
• Check for errors
• Perhaps there was a connection
problem as shown in the error
• Resubmit outbound message

GetResource Inc.
52 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
Summary

• In this lesson, you should have learned how to address:


– Interoperability
• B2B Configuration Wizard
• Routing Id / Parameters / Directives
• Identifiers required by Translator
– Tuning
– Utilities
– End to end troubleshooting – where is my order?

GetResource Inc.
53 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.
GetResource Inc.
54 Copyright © 2017, GetResource Inc. and/or its affiliates. All rights reserved.

Potrebbero piacerti anche