Tuesday, March 19, 2013

Hermes configuration for OpenMQ or SUN MQ


Start SOAPUI

Goto Tools menu select HermesJMS

In Sessions tab there will be jms-> sessions

Machine generated alternative text: :
File Messages Actons Options Help
Sessions
jms_____
w. 
:  contexts
W Q stores
: Q files

Right click ->new->new session

Machine generated alternative text: Preferences
Sesson
Session: <new> Use Consumer: F
Audit:  Transacted: I
Plug In
Default
Property I Value I
Connecton Factory
Class: Ihermes.NullConnectionFactory Loader: Isystem
Property I Value I
Destinabons
Name ShortiJame J Domain
examples.xml QUEUE
fix. xml QUEUE
Connection
ClieritlD: F User: Password: j ¡ Shareci
L
. [ Providers General j Renderers
OK Cancel  I

Name the session as SUNMQTEST
Machine generated alternative text: IE Preferences
Session
Session: SUNMQTEST Us
Audit: r

Goto provider tab
Machine generated alternative text: Sessions Providers General_L Renderers_j

Right click-> add group and name it SUN MQ

Machine generated alternative text: Preferences
ClasspathGroups
ClasspathGroups containing JMS providers and dependent libraries.
Classpath Groups
W SUN MQ

Right click -> add jars and add following jars in list

fscontext.jar
imq.jar
imqadmin.jar
imqbroker.jar
imqjmx.jar
imqutil.jar
imqxm.jar
jaxm-api.jar
jms.jar
jhall.jar
imqservlet.jar
hermes-imq.jar

Press apply and go to Sessions tab

In the loader select SUN MQ will be available as loader

Machine generated alternative text: Connection Factory
Class: IhermesNu11ConrectcmnFa1:tc Loader:
. Property Value
System
E
J

Now add class as below

Machine generated alternative text: Connection Factory
Class: IIiNd.ir*I. ext. imq. ConnectonFactory
j Property Value I
Loader:

And in the property below add as below

Machine generated alternative text: Connection Factory
Class: hermes.ext.imq .ConnectionFactory Loader: SUN MQ
Property I Value
imqBrokerHostName
imqBrokerHostPort
imqDefaultUsername
frnqDefaultPassword

You will see sessions tab.

Right click on newly created session SUNMQTEST-> discover

You get pop saying how many destinations are discovered, click yes to pop up

And you are there!

Monday, March 11, 2013

Best practices for XML


working with WS

Organizing service layers:

1. Applicaiton Service layer: ERP, mainframe, Custom application, RDBMS, WS
2. Virtual service: decouple application services from consumers, Service description and end point virtualisation
3. Business service: Service provide common schema and encapsulated business logic.Functional, Entity, task based
4. Business processes:
5. UI layer


Service design considerations:

Granularity with performance
Service consumption
Security
Management: SLA
Support
Change Management
Validation

What you need to ensure while designing service:

Service granularity: performance is key here when you are breaking almost everything into pieces
Service re-use
Service Lifecycle
Service Security
Service Management

Design a service:

Schema definitions
WSDL definitions
WS-Policy definitions

Schema guidelines
Naming standard
Namespace considerations
Do not use default name space
Prefer qualified namespaces for elements
unqualified name spaces for attributes
http://<domain, com/in/blah blah..>/<sub-domain>/<namespace-type>/<subject_area>
Any simple element should be defined as global type element, specifically those which are used as input/output parameters of any service. And same can be used to define any schema.







Sunday, March 10, 2013

Common issues

Weblogic log file could not rotate:

At the top of all reasons your restart failures is the log is locked and that mean jvm is running. Find out and +kill the jvm process running( in windows check task ctrl+alt+del task manager)

and last thing is go to the location "..\Oracle\Middleware_3\user_projects\domains\<you domain>\servers\<managed server name>\tmp". There must be a file with <managed server name >.lck. remove the lock and restart your server.

Log files are piling up quickly and disk full issue?

Create a script for compressing log file and one script for cleanup of log and compressed log files.

<BEA-000388> <JVM called WLS shutdown hook. The server will force shutdown now>


The admin stopped due to the reason that JVM in Weblogic, monitors and catches OS signals(CTRL+C, CTRL+D) and alerts WLS to shutdown. It will not throw any error in such conditions however allows Weblogic to clean and destroy the resources and shutdown.



Tuesday, March 5, 2013

Event Driven Architecture(EDA) and Event Driven SOA

Event: An event is a notable thing that happens inside or outside your business.

An event (business or system) may signify
1. a problem
2. impending problem
3. an opportunity
4. a threshold or
5. a deviation.

Specification and Occurrence: Event refers to both specification(definition) and individual occurrence(instance).

Event in business terms: An event to be meaningful down stream subscribers(human or automated) it is imperative that event(name and body) is specified in business terms not data or application.

Event info should contain:

Header:
 specification ID
 event type
 event name
 event timestamp
 event occurence number
 event creator

Body: should specify what happened

EDA: Notable thing happening in or out of business/system, which goes immediately to interested parties. Interested parties can evaluate and optionally take action(invoke a service, trigger a business process).

1. provide agility and flexibility to business.
2. customer and business works in real time
3. passive request/reply to proactive publish/subscribe
4. active info sharing


EDA principles:

1. decoupled
2. reusability
3. Real time notifications
4. publish/subscribe
5. immediate response
6. freedom to act
7. statelessness


Extreme loose coupling

Event processing styles:

1. Simple event processing: Simple event processing is commonly used to drive the real-time flow of
work—taking lag time and cost out of a business.

2. Stream event processing: Stream event processing is commonly used to drive the real-time flow of information in and around the enterprise––enabling in time decision making.

3. Complex event processing: CEP is commonly used to detect and respond to business anomalies, threats, and opportunities.

Event flow Layers:
1.   Event generators
2.   Event channel
3.   Event processing
4.   Downstream event driven activity


Event-driven architecture implementation components:
1. Event metadata: Event metadata includes event specifications and event processing rules. Event specifications must be made available to event generators, event format     transformers, event processing engines, and subscribers.
2. Event processing: The cores of event processing are the engine and the event occurrence data.simple events engines are usually in house developed. CEP is used for trend analysis and audit.
3. Enterprise Integration: Some of the service are required from integration services are: event pre-processing (filters, routes,and transformations), event channel transport,service invocation, business process invocation,publication and subscription, and enterprise information access.
4. Sources and Targets:
5. Event Tooling: required for event specifications and processing rules, and to manage subscriptions. Event management provides admin and monitoring.



Ref:

https://gupea.ub.gu.se/bitstream/2077/23491/1/gupea_2077_23491_1.pdf

Saturday, March 2, 2013

Loose coupling

Three phases of composites:
Modelling phase: semantic coupling: Strong(Service components), Weak(QoA, Governance Aspects), Non-Predominant
composition phase: Syntactic coupling: String and weak
execution phase: Physical coupling

Level of Loose coupling:

Loose coupling the implementation: Standard based, inter-operable specifications or protocol

Loose coupling the service contract: what happens when the service contract itself changes?difficult proposition, but there are plenty of best practices, service contract change management: Active management and service intermediaries and SOA governance.

Loose coupling the service policy: A policy is a form of metadata, as are contracts. changes to policy should be handled in the same way they handle changes to service contract: late-binding, service intermediary-enabled, registry-based, and governed. 

Loose coupling the process: Once you have a business process that composes a bunch of services together, we have another area of potential tight coupling. What happens when the process changes?The movement in the SOA and BPM markets has been towards separating the process definition layer from the underlying implementation.

Loose coupling the data schema: 

Loose coupling the infrastructure



Contextually coupling in EAI depends on:
Number of input data items
number of output data items
Dependency of service on other service
Services dependent on the service
Use of shared data
time dependency
Protocol uses


http://searchsoa.techtarget.com/tip/The-seven-levels-of-loose-coupling
http://www.zapthink.com/2006/10/03/the-role-of-transformation-services-in-soa/