Key Concepts


1) EAI :  EAI is the use of software and computer systems architectural principles to integrate a set of enterprise computer applications.

Enterprise application integration is an integration framework composed of a collection of technologies and services which form a middleware to enable integration of systems and applications across the enterprise.

Supply chain management applications (for managing inventory and shipping), customer relationship management applications (for managing current and potential customers), business intelligence applications (for finding patterns from existing data from operations), and other types of applications  (for managing data such as human resources data, health care, internal communications, etc.) typically cannot communicate with one another in order to share data or business rules.
   
2) An enterprise service bus (ESB) is a software architecture model used for designing and implementing the interaction and communication between mutually interacting software applications in service-oriented architecture (SOA). As a software architecture model for distributed computing  it is a specialty variant of the more general client server software architecture model and promotes agility and flexibility with regards to communication and interaction between applications.   
   
3) In software engineering, a service-oriented architecture (SOA) is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services have well-defined business functionalities that are built as software components
 (discrete pieces of code and/or data structures) which can be reused for different purposes. SOA design principles are used during the phases of systems development and integration.
   
4) SAP adapter configuration needs
   SAPJco.jar, librfc32.dll and sapjcorfc.dll for WINDOWS.
   SAPJco.jar, librfccm.so and libsapjcorfc.so for UNIX.
 
5) Tree Structure:
   Local Environment -- Variables, Destination, Written Destination, File, SOAP, Adapter, WildCard,      Service Registry, TCPIP, FTE
   
6) Nodes
   MQInput
   MQOutput
   MQGet
   Compute
   Filter
   Database
   Trace
   Label
   RouteToLabel
   HttpRequest
   HttpInput
   HttpReply
   EmailOutput
   FileInput
   FileOutput
   ResetContentDescriptor
   Passthru Node

7) OutputRoot.EmailOutputHeader.To
   OutputRoot.EmailOutputHeader.Cc
   OutputRoot.EmailOutputHeader.Bcc
   OutputRoot.EmailOutputHeader.From
   OutputRoot.EmailOutputHeader.Subject
   OutputLocalEnvironment.Destination.MQ.DestinationData[1].queueName
   OutputLocalEnvironment.Destination.Email.SMTPServer
   OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelname
   OutputLocalEnvironment.Destination.File.Name
   OutputLocalEnvironment.Destination.File.Remote.ServerDirectory
 
8) TRANSLATE
   OVERLAY : OVERLAY ('ABCDEFGHIJ' PLACING '1234' FROM 4 FOR 3)
   SUBSTRING

  COALESCE : returns the first one that is not NULL. Returns NULL only if all the arguments             passed are NULL

   PASSTHRU
   LEFT
   RIGHT
   TRIM
   LTRIM
   UPPER
   UCASE
   LOWER
   LCASE
   RTRIM
   REPLACE
   CONTAINS

 NULLIF : returns NULL value if both the arguments passed are equal else returns the value of the first argument

CARDINALITY : returns an integer value giving the number of elements in the list specified by ListExpression.

LASTMOVE : returns a Boolean value indicating whether the last MOVE function applied to source_dynamic_reference was successful (TRUE) or not (FALSE).
 
The MOVE statement never creates new fields.
 A common usage of the MOVE statement is to step from one instance of a repeating structure to the next.The fields within the structure can then be accessed by using a relative field reference.    
 
9) mqsichangetrace
   mqsireadlog
   mqsiformatlog
 
   Delete an message flow in a execution group
   mqsideploy -q ESBCCNIT -e NIS_LOGIN -d NIS_ProcessCustomerFlow.cmf
 
   Turn on and off the trace
   mqsichangetrace ESBCCNIT -n on -e NIS_Outage
   mqsichangetrace MB7BROKER -n off -e default -f myFlow
 
   STOP and start execution group
   mqsistopmsgflow ESBCCNIT -e NIS_UsrAcctRegistration
   mqsistartmsgflow ESBCCNIT -e NIS_UsrAcctRegistration
 
10) Http and SOAP nodes Both we will use for the Web services call. With SOAP nodes we can send the attachments also.
More Over SOAP nodes will use the WSDL for webservice call and HTTP you need to write the SOAP structure manually.

11) HTTPRequest node while invoking web service its not compliant with any of the SOAP 1.0/1.1 standard nor it supports standard SOAP specification features such as SOAP headers, WS-Addressing, WS- Security, WS-specifications.
 
12) HIPPA totally have 7 level of compliance
    EDI HIPPA flow
    834 -- Enrollment
    820 -- Premium payment
    270&271 -- Eligibility Request and response
    837 -- Claim payment
    835 -- Healthcare insurance plans to make payments to healthcare providers
    276&277 -- Claim Status Enquiry request and response
    278 -- Service review information, all the treatement details he had or he can have on the insurence
 
13) New things in MB v7
   Brokers maintain configuration data in the local file system
   Brokers create and manage configuration data in an internal repository in the local file system, and      have no requirement for a database.
   You can back up and restore the broker component and its internal repository by using the commands mqsibackupbroker and mqsirestorebroker.
 
 The WebSphere Message Broker Explorer, an administration toolkit delivered with Version 7.0, which is described later in this section.
 
 You can deploy a broker archive file to multiple execution groups in one step.
 
 You can create, delete, start, and stop local brokers without using the command line.
 
14) New things in MB v8

 A new Data Format Description Language (DFDL, which you’ll sometimes hear called “daffodil”) enables any text or binary data to be understood within the message model. The Broker has had the “MRM” for many years, so of course could already do this, but DFDL is a new industry standard
 which can supersede the MRM.
 
   If you have .NET applications, assemblies, or services on the Windows platform, and you want to access those from your message flows – you can.
  If you want to write your message flow logic using C# or VB.NET or any .NET 4.0 CLR-supported language, using Visual Studio – you can.
 
 Delivered in version 8 is a first stage in making the Broker more easy to administer from a lightweight client – a web browser.

 Whilst power users and existing administrators can continue to use the Message Broker Explorer GUI, there is now an easy way to enable an optional web interface for basic administration tasks.

Continuing the theme of simplicity the product has followed for a while, no additional moving parts
  (app or web servers) are required! Version 8.0 provides read-only views of running Applications and access to the log

15) Default MQ log path:
    C:\Program Files\IBM\WebSphere MQ\log\<QMgrName>
    /var/mqm/log/<QMgrName>      
 
16) Persistent messages : Delivery of persistent messages are assured they are written to logs to survive system failures.
These messages always arrive at the destination even when the system fails. They are hard ended that is they are saved on the disk. You can make a specific message persistent or all the messages on the particular queue.
 
    Non-Persistent messages cannot be recovered after the system restart.
 
    Synchronous : send, recive and reply
 
    Asynchronous : initiates
 
17) Queue manager configuration files, qm.ini:
 A queue manager configuration file, qm.ini, contains information relevant to a specific queue manager. There is one queue manager configuration file
for each queue manager. The qm.ini file is automatically created when the queue manager with which it is associated is created.
A qm.ini file is held in the root of the directory tree occupied by the queue manager. For example, the path and the name for a configuration file
    for a queue manager called QMNAME is:
/var/mqm/qmgrs/QMNAME/qm.ini
 
18) The WebSphere MQ configuration file, mqs.ini:  
The WebSphere MQ configuration file, mqs.ini, contains information relevant to all the queue managers on the node.
 It is created automatically during installation. The mqs.ini file for WebSphere MQ for UNIX systems is in the /var/mqm directory.
 
19) Primary log files are pre allocated log files and the default value is 3.
 Secondary log files that can be created for use when the primary log files are full and the default value is 2.
 
20) Alias Queue
    Alias queues are not real queues but definitions. They are used to assign different names to the
    same physical queue. This allows multiple programs to work with the same queue, accessing it
    under different names and with different attributes.  
 
21) The channel initiator is an MQSeries program that must be running in order to monitor initiation queues.
    When the channel initiator detects a message in the initiation queue, it starts the message channel agent (MCA)
    for the particular channel. This program moves the message over the network to the other machine, using the sender
    part of the unidirectional message channel pair.
 
22) On the receiving end, a listener program must have been started. The listener, also supplied with MQSeries, monitors a specified port,
    by default, the port dedicated to MQSeries, 1414. When a message arrives, it starts the message channel agent. The MCA moves the message into the
    specified local queue using the receiver part of the message channel pair.
 
23)Aggregation is an extension of the request/reply application model. It combines the generation and fan-out of a number of related requests with the
 fan-in of the corresponding replies, and compiles those replies into a single aggregated reply message.
 
    AggregateControl node marks the beginning of a fan-out of requests that are part of an aggregation. It sends a control message that is used by
    the AggregateReply node to match the different requests that have been made. The information that is propagated from the Control terminal includes
    the broker identifier, the aggregate name property, and the timeout property. The aggregation information that is added to the message Environment
    by the AggregateControl node must not be changed.
 
    AggregateRequest node records the fact that the request messages have been sent. It also collects information that helps the AggregateReply
    node to construct the aggregated reply message. The information that is added to the message Environment by the AggregateRequest node must be
    preserved, otherwise the aggregation fails.
 
    The AggregateReply node marks the end of an aggregation fan-in. It collects replies and combines them into a single aggregated reply message.

24) Compute node Properties:

Transaction  : Automatic and commit
compute mode : The Compute Mode property controls which components are used by default in the output message. Select the property to specify

whether the Message, LocalEnvironment (previously specified as DestinationList), and Exception List components that are either generated in the node or contained in the incoming message are used.

Validate     : None, Content, Content & Value and Inherit
   
 Note: Even if Content is selected, the SOAP and XMLNSC domains always perform Content and Value validation.

CONTENT : Indicates that you want to perform content checks, such as Content validation and Composition.
   
CONTENT & VALUE : Indicates that you want to perform content checks, such as Content validation and Composition, and value checks,such as whether the value conforms to data type, length, range, and enumeration.

 INHERIT : Instructs the node to use all the validation options that are provided with the input message tree in preference to any supplied on the node.
Inherit therefore resolves to None, Content, or Content And Value. If Inherit is selected,the other validation properties on the tab are not available.

25) MQInput Node Properties:
Parse Timing : Ondemand, complete and immediate
The Parse Timing property determines whether on-demand parsing is to be used when parsing a message.
      It also gives you control over the timing of input message validation:
      If you enable message validation, and you select On Demand or Immediate for Parse Timing, validation errors might not be detected
      until later in the processing of a message by a message flow, or might never be detected if a portion of the message is never parsed.
      To make sure that all fields in a message are validated, either select Complete or, if the message domain is MRM, select Immediate
      and make sure that you resolve all unresolved types with a Composition of Choice or Message at the start of your message flow.
   
ON DEMAND : If you select a Parse Timing value of On Demand, validation of a field in the message is delayed until it is parsed by on-demand parsing.
   
IMMEDIATE : If you select a Parse Timing value of Immediate, on-demand parsing is overridden, and everything in the message is parsed and validated except, if the message domain is MRM, those complex types with a Composition of Choice or Message that cannot be resolved at the time.
   
COMPLETE  : If you select a Parse Timing value of Complete, on-demand parsing is overridden, and everything is parsed and validated.
 If the message domain is MRM, complex types with a Composition of Choice or Message that cannot be resolved at the time
                  cause a validation failure.          
         
26) Following nodes can be configured for JDBC connecivity
    Java Compute node
    Java User defined node
    DataBaseRetreive
    DataBaseRoute

We need to create a configurable service for the broker with the necessary information to establish a connection to the database. For one configurable service we are able to connect to a single db.

Sample command to to configure the service
    mqsicreateconfigurableservice <Broker Name> -c JDBCProvider -o <Provider Name> -n <List Of Properties> -v <Property Values>
   

No comments:

Post a Comment