Thursday, January 27, 2011

JS-Blogger-Client: inserted post

This is the body of the blog post. I can include HTML tags.

Monday, April 21, 2008

What is ESB?

What is ESB?

Enterprise Service Bus. This means, all service s can travel through this bus or this bus containing all services.

When customer needs to use one or more particular services, they can get into this bus. Give the appropriate information’s like what is his name? From where he is coming? And where he is going?

Conductor will collect this information’s and he will charge him. And when that customer station comes conductor will intimate this is his stop.

So this means all services can access through a single point. No need to go to that particular service where it lives. So we have to give an access point to all services. ESB will do this.

ESB provides a single gate for more than one service.

Why ESB?

· To more security to services:

We have a proxy before our service. So that can filter the request and will allow/deny with respect to the input.

· Less client code:

For example, if one application has more than 100 services, but in client side we have to create that much clients for those services. But if we use ESB, only one client is enough to access all services.

· Tracking client’s request:

Through the proxy we can track or maintain transactions. And we can use it for billing or some feature actions.

Friday, October 26, 2007

Jee Enterprise Serivce Bus

JEE(G) Enterprise Service Bus

Welcome to jee(G)ESB!


Now a days SOA is puzzle word in Enterprise application development. SOA's basics is Web Services. SOA can achive by Webservice Orchestration.

Jee(G)ESB is an JAVA Enterprise Service Bus will do Webservice Orchestration by simple xml configuration. jee(G)ESB will do routing the (SOAP)Webservices by simple XML configuration without complex code.

Jee(G)ESB will act as Middleware in a Java Enterprise Application. This will do only routing the Webservices with respect to our configuration. This will not involve in creating Webservices, creating Webservices is everyone wish.

To use Jee(G)ESB, user(s) should know how to write XPath & Xquery and basic xml knowledge. Also they should know creating & deploy a Java Webservice.






How to?

  1. create a Proxy Webservice (We used XFire)
  2. Include the jar files(jeeEsb1.0.jar & schema.jar) into WEB-INF/lib
  3. From Webservice Implementation class call jeeESB

SimpleEsb esb = new SimpleEsb("jeeEsb.xml");
String result = esb.execute(request); //request is XmlObject

parse the result into XmlObject and then return from Webservice.
for sample configuration see jeeEsb.xml


<Esb xmlns="http://www.jeeva.com/Esb">
<services>
<BusinessService>
<serviceName>FooService</serviceName>
<serviceAddress>http://localhost:8080/simpleESB/foo</serviceAddress>
<servicePortName>FooServiceSoap</servicePortName>
<serviceNamespace>http://www.openuri.org/</serviceNamespace>
<routingAlgorithm>round-robin</routingAlgorithm>
</BusinessService>
</services>
<router>
<IfCondition>
<condition>declare namespace env='http://www.jeeva.org/Envelope'$this/env:EaiEnvelope/env:Service=foo</condition> <IfData>
<condition>declare namespace xg='http://www.jeeva.org/Envelope'; declare namespace cus='http://com.foo.jeeva/Foo'$this/xg:EaiEnvelope/xg:Payload/cus:Foo/cus:Request/cus:Operation_Name=sayHello</condition> <servicecall>
<serviceName>FooService</serviceName>
<operationName>sayHello</operationName>
<input>declare namespace xg='http://www.jeeva.org/Envelope'$this/xg:EaiEnvelope/xg:Payload</input>
</servicecall>
</IfData>
</IfCondition>
</router>
</Esb>

Features

  • Load Balancer for Business services. So we can pass more than one URL for our Business Services
  • Logging enabaled for ESB
  • GUI editor for Configuration XML in Web Browser.
    We can easily ADD or UPDATE services and routing functions, without stop & start Server

Note:

jeeESB1.0 Beta has released
Please try this and give me comments.

To download please click here: https://jeeesb.dev.java.net/

Thanks,
Jeeva P