Julian Jewel’s Weblog

Welcome to my weblog();

Automate UI Testing

November2

Looking for a tool that can automate your UI testing.

Selenium Remote Control (RC) is a test tool that allows you to write automated web application UI tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser.

More information here –

http://seleniumhq.org/projects/remote-control/

posted under Categories | No Comments »

Run WFE Open Source BPMS System

November2

Nice to see some initiative on a open source BPMS. Runa WFE is an OpenSource BPMS system, based on JBoss jBPM core. It is a cross-platform end user solution for business process development and execution.

More information at –
http://sourceforge.net/projects/runawfe

posted under Categories | No Comments »

Mule 2.0 Released

November2

More information -

http://blogs.mulesoft.org/mule-ide-2-0-released/

posted under Categories | No Comments »

Making Cloud a Reality for Enterprises via SOA Governance

October17

Making Cloud a Reality for Enterprises via SOA Governance – More at –
http://malaramakrishnan.sys-con.com/node/1038267

posted under Categories | No Comments »

ZK – Open Source Ajax

September22

ZK is the most proven Ajax + Mobile framework available, designed to maximize an enterprise’s operational efficiency and minimize development time and cost.

With groundbreaking Direct RIA architecture, ZK simplifies and hastens the creation, deployment and maintenance of rich Internet applications.

For more information – visit http://www.zkoss.org/product/zk.dsp

posted under Categories | No Comments »

Spring Integration

July17

We needed a really light weight ESB and we were evaluating Mule, ServiceMix and finally decided to write our own Spring based service bus. And it ended up working great for us. At that time, the Spring Integration was just being developed. I was looking into the Spring Integration and looks like it is very endpoint / channel based. We wrote a component based service bus, that would just intercept, transform and invoke a service. Spring Integration is neat and flexible, but I’m not sure how the polling channel model would perform. Also we have services that communicate synchronously, but I’m not sure if there is a way to define a request/response type of architecture with Spring Integration. Looks like it is necessary to implement an input and output channel for every messaging pattern like transformer, router, etc.

ProtoJ

May16
  • Don’t want to learn ant scripts
  • Tired of writing ant scripts
  • Don’t want to maintain XML files

Here’s a pure Java build API. You just have to download the JAR, add it to your projects and write the entire build configuration in Java.

ProtoJ is a pure java build, installation and deployment library that hands control over to you. There’s no third-party ProtoJ application directory to maintain, no environment variables to set up and absolutely no other required software. Simply add the ProtoJ library to your project and get ready to experience the joy of a friction-free development cycle.

More information at – http://code.google.com/p/protoj/

HL7 Interface Engines

May6

So what do you really look for in an interface engine? There is more to an IE than just being a pass-through of messages.

Some good features of an interface engine –

1) Store and forward capability
2) Auto-acknowledgement
3) Guaranteed message redelivery
4) Rollback and retry capabilities
5) Reliable messaging, Once only delivery
6) Message Ordering, Error-free, Sequential
7) Disconnected Operation
8) Message Logging
9) Message Security
10) Consistent Routing
11) Message Monitoring
12) Exception/Error Escalation
13) Uptime Quantification
14) Persistent Messaging
15) Timely Delivery
16) Failover
17) Fault Tolerance
18) Load Balancing
19) MTTF (Mean time to Repair), MTBF (Mean time between Failure) management
20) Disk I/O performance monitoring
21) Continuous Availability
22) Transaction-aware distribution
23) Loosely coupled asynchronous messaging framework
24) Dead letter / exception mechanism
25) Messaging logging and auditing
26) Message Parallel Processing
27) Exception & Error Handling / Escalation
28) Deployment Infrastructure
29) Message Correlation
30) Message Routing Mechanism
31) Test messaging (ability to check if services are operational)
32) Reliable messaging
33) Store and Forward Configuration
34) Concurrency Management
35) Aggregation Locking Mechanisms
36) Response Timeout Configurations
37) Message Payload Optimizations
38) Conversational Capability
39) Component Failover Management
40) Cache management
41) Database Availability
42) Redundancy
43) Error escalation
44) Protocol independence
45) Adapter extensions
46) Best practices & reference architectures, implementation of enterprise integration patterns

Most of the interface engines range from 50,000 – 150,000$ / CPU license. HL7 IE’s are Vitria Businessware, Interfaceware, eLink, Oracle SOA Suite, Orion Health Rhapsody, Cloverleaf, OPENLink, Sybase e-Biz Impact, ConnectMate, BizTalk etc. Others are generic IE’s where we would need to buy/develop a HL7 adapter which include BEA, Websphere integration, Tibco, WebMethods and Ensemble.

Some IE’s require development licenses as well. Open source HL7 IE’s are SeeBeyond eGate and Mirth. Mirth is a great open source product as a HL7 interface engine used by various government entities.

Service Activator & Transaction

March12

We process about 300 messages / second in our application. The Service Activator pattern has been very helpful to fork off and distribute processing of messages. We fork off messages to a JMS queue for processing. In some cases, the forked off messages need to run inside the same transaction of the caller and JMS helps us achieve this.

For more information on Service Activator, refer to http://java.sun.com/blueprints/corej2eepatterns/Patterns/ServiceActivator.html and http://www.eaipatterns.com/MessagingAdapter.html

posted under Categories | No Comments »

Database War Stories

March10

We have had numerous arguments with your DBA’s about normalization.

We had the following issues

  1. Normalizing 2 different tables used by entirely different services (Audit, Business) because they have the same field name
  2. Normalizing immutable audit table

The following links might help you in defending your architecture -

Read the rest of this entry »

« Older Entries