Tuesday, March 13, 2018

Automation / Integration components (artifacts) and their capabilities


Business automation is nothing but it enables to automate enterprise business processes, services and applications across enterprise as well as business partner and integrates them together so that data flows in near real time manner with less human intervention.

On-ramp / Inbound (Incoming Messages / data)
1. Adapters / Connectors
FILE
FTP / SFTP
HTTP/S (SOAP/ WCF / REST / GET/POST etc…)
QUEUING (MSMQ, MQSERIES, RABIT MQ etc..)
CLOUD CONNECTOR
EMAIL (POP3)
SHAREPOINT
LOB (DB2, MAINFRAME, CRM, SAP CONNECTORS
DATABASE NATIVE CONNECTORS
OUT OF BOX ADAPTERS FROM THIRD PARTY
2. Data format / Message
XML
All EDI standards(X12 / EDIFACTS / HL7 / HIPAA etc…)
Zip File
Flat File (positional / delimited)
Any format (pdf, image, Json, binary etc…).

Off-ramp / Outbound (Outcoming Messages / data)
3. Adapters / Connectors
FILE
FTP / SFTP
HTTP/S (SOAP/ WCF / REST / GET/POST etc…)
QUEUING (MSMQ, MQSERIES, RABIT MQ etc..)
CLOUD CONNECTOR
EMAIL ( SMTP)
SHAREPOINT
LOB (DB2, MAINFRAME, CRM, SAP CONNECTORS
DATABASE NATIVE CONNECTORS
OUT OF BOX ADAPTERS FROM THIRD PARTY
4. Data format / Message
XML
All EDI standards(X12 / EDIFACTS / HL7 / HIPAA etc…)
Zip File
Flat File (positional / delimited)
Any format (pdf, image, json, binary etc…).

Enterprise Workflow / Orchestration
5. Process
LONG RUNNING / ATOMIC
CORRELATON / ACCOSIATIN BETWEEN APPLICATIONS
HYDRATE / DEHYDRATE
SYNCH / ASYNCHRONOUS
BPMN STANDARD (work flow/process can be exported into other tech appian /tibco etc…)
EXPOSED AS WEBSERVICES

Secure
6. Network
SSL
SFTP
ANY STANDARD CERTIFICATE

7. Data
DIGITAL SIGN - KEYS
ENCRYPTION / DECRYPTON
MASKING SENSITIVE FIELDS

8. Authentication
BASIC
INTEGRATED
ESSO
CERT KEYS
OAuth


Business Activity Monitoring (BAM) 
9. Tools
KPI AGANST PROCESSES / TRANSACTIONS
DIFFERENT VIEWS  FOR DIFF STAKEHOLDERS
GRAPHICAL CHARTS
WEB PORTALS
REAL TIME DATA
ARCHIVED / HISTORICAL DATA
SUPPORTS STAR SCHEMA / DIMENSIONAL TABLES

Operation Support / Reporting
10. Infrastructure (Server down. Cpu is up, no space etc…)
MOM
SCOM

11. Business / Application
EMAIL – NOTIFY
BAM
ESB – EXCEPTION PORTAL (repair and resubmit in on-fly)
EVENT LOGS
CAPTURE IN DB
SHAREPOINT

Enterprise Service Bus
IT IS BUILD-IN ADDON COMPONENT FROM BTS 2013
CONFIGURABLE THAN CODING
RUNTIME RESOLVERS FOR ROUTING, MAPPING, ADAPTERS
LOOSELY COUPLE AND ABSTRACTION ARCH

Business Rule Engine / Business Rule Policy
FACT
CREATE USER FRIENDLY VOCABULARIES FROM XML, .NET, DB
RULES
PUBLISH POLICY WITH RULES
USED BY BUSINESS USER TO DEFINE BUSINESS RULES
ON-FLY DEPLOYMENT WITHOUT INTERRUPTING APPLICATIONS
BizTalk Artifacts
SCHEMA/FORMAT (it has all type of edi formats in repository)
MAPS (it translates from one format into another
DEPLOYMENT FRAMEWORK
ADMIN CONSULT FOR viewing the different status of message and resume/repair them, start / stop the service & applications etc...)
Orchestrations
Pipelines
Adapters
Hosts
Host Instances
Business Process Modeling 
Pega, Appian
Content Management 
SharePoint, documentum
Message Delivery 
Guaranteed - MSMQ
Reliable - RabbitMQ

Wednesday, January 3, 2018

Pass through REST API service for get method

Pass through REST API service for get method
Step 1
Create a two way receive location with receive pipeline which should promote the fields for get method query sting fields.
Send pipeline should be passthrutransmit
Step 2
Create send port with subscribe using filter with query string fields as exists.

Monday, August 21, 2017

Combining / Merging multiple repeated records from source into single record in destination with conditional through Biztalk map

1. Source xml as below
             Source xml has 6 records and we have to skip 4 & 6 records based on condition but the same time, all source records should be mapped into single record


2. Expected destination xml as below


3. Map

4. Inline XSLT Call Template details



5. we can use the different values for conditional instead of position

Monday, April 24, 2017

How to create different number ports/binding based on environments using BTDF 6


How to create different number ports based on environments using BTDF 6

Scenarios : when we integrate the systems specially with legacy systems,  we may face issues like each environment may have an own restrictions ( Number end points/connection may vary from each environment).  For example, Local may have 10 ports, TEST & QA may have 15 Ports and PRD may have 40 Ports.

We can achieve this kind requirements using the following steps.

  •  Create an Environment variable in SettingsFileGenerator.xml file as below
       Local
       TEST
       QA
       PRD
      * Note : Environment  variable / keyword won't be visible in SettingsFileGenerator.xml file but we       can see the values for that. 

  • Inside PortBindingsMaster file, use the xml pre-processor to detach the proper environment as below  
               
  • Create the ports/bindings based on Environment.

Thursday, December 30, 2010

DMZ & non-DMZ Configuration

Some companies may not wish to keep biztalk and sql server in DMZ. But they use a lot of http/s,soap adapters to receive the inbound messages. To implement this environment, We need to configure as follows
  • a seperate webserver -> DMZ
  • biztalk server -> non-DMZ
  • SQL server ->non-DMZ
  • use WCF or reverse proxy

Tuesday, April 20, 2010

BOM Remover for passthrough receive pipeline

If text file has utf-8 signature (BOM), we want to remove that without using disassambler, I used the following code
byte[] buffer = new byte[streamLength];//new byte[originalStrm.Length];

originalStrm.Read(buffer, 0, Convert.ToInt32(streamLength));


byte[] preamble = Encoding.UTF8.GetPreamble();

//239 187 191

if (preamble[0] == buffer[0] && preamble[1] == buffer[1] && preamble[2] == buffer[2])
{
System.Diagnostics.Trace.WriteLine(" file has utf-8 signature and removed ");

byte[] bufferN = new byte[streamLength-3];//new
Buffer.BlockCopy(buffer, 3, buffer, 0, streamLength - 3);
buffer = bufferN;
}
else
System.Diagnostics.Trace.WriteLine(" file does not have utf-8 signature");

 test