Saturday, October 23, 2010

Party of Five - A Tale Of Java Servers

PROLOGUE

I've been working with a few JBoss servers which, or should I use the word Who instead..well who are responsible for all Distribution processes in my Company, Distribution means - sending all wanted material from the System to the out side world.

The outside world means - Printers,Fax Server, Email (Mail Server) and any kinda of a Network repository storage place you can imagine.
The servers also take part in building & constructing the data it suppose to distribute, like fetching data from the DataBase, and invoking all kinds of reports generating tools that construct documents as a result. all the data is finally converted to PDFs and then makes the it to the final stop - the Distribution final destination (Printer, Fax Server etc').

Well it's all sound really interesting doesn't ? well actually it is, and the thing that can be really interesting, is to see this family of servers servicing a roughly 1000 clients in real-time, with many of different requests and factors that influence the construction phase of the data in a myriad of ways. not to forget the fact that running in multiple threading environment that it is massive as this can be really fascinating to observe and learn from.

So after a few years of watching and encountering many scenarios and solving many problems I thought, why not put it on paper...or the Internet, which is the same thing our days, for the benefit of others, well if nobody will read this, no matter, at least I had fun writing it.

Now the Tale of the Family of servers begins, I'll start the story & end this prologue introducing the family -
  • There's the 2 Big Brothers who are responsible mostly on producing a big piece of the documents and placing them in Storage. we call them the "Storage brothers".
  • There's Printery who constructs data (PDFs documents) and zip them for delivery to an outside printery that will print & deliver the documents to the clients.
  • The Printing Server handles requests sent to local (In house) Printers, there are about 120 of them, most of them HP, some Lexmark and Xenon.
  • Last but not least, there's the Non-Printing Server, with a respect to his name handles all the other stuff, like Faxes,Emailing,Sms sending and more.
So this is the family, the party of five

Sunday, October 17, 2010

Spring's Expression languge (SpEL) not just a lexical parser

I've been messing around with Spring 3.0 biggest new feature the SpEL (Spring expression language) and like all Spring's tools, it's a real treat to use & test.
At my work place I was asked to write a presentation to show the people it's wonders, so I've decided to share it with the rest of the world :)

* I've written a lot of test cases, but haven't uploaded them yet, hopefully I'll find the time to upload it in the near future.

I would like to mention Craid Walls whom I took some ideas for my presentation.
As well as Dhruba Bandopadhyay who wrote a great article that explains some of SpEL's extensive features - spring-expression-language-spel-primer