Primary Skills
Expert
Developing Java Classes
5
Hibernate
5
Spring
5
Developer
Using threads
5
SQL
10
Designing Database Schema
10
Creating ERD
3
Writing SQL Statements
10
Implementing Data Access Classes
5
Optimization and Tuning
3
ElasticSearch
1
Linux OS - desktop (end user) / server (administration) experience
2
Linux OS - power user - worked over 2 years only  on  a linux desktop
2
Hudson
5
Maven2
5

Professional experience

Java Architect Thomson Reuters
2015

Architect for application that downloads and parses documents from multiple sources. /n Support for big load using Spring Boot architecture in the Scala language on top of Akka. /n Application was then packaged in Docker. Tech leader on legacy product written in scala for text NLP analysis. /n Add framework for streaming data to application lucene indexes from server databases.

Java Developer Amdocs
2014

Tech leader on monitoring team of Amdocs Portfolio. /n My job was to bring the product to next level including enhancements in cluster definitions using zookeeper. /n Introduce and create framework for sending dropwizard metrics to graphite using pickel protocol for optimizations. /n Introduce elasticsearch to product for event analysis. Enhance metrics library embedded in portfolio by creating dynamic proxies for metrics.

Java Developer FIS
2013

Joined a team that just started to build a Spring/Hibernate product on a legacy DB./n Helped as tech lead to solve multiple hibernate issues including nested filters and dynamic cache of metadata not supported by the hibernate model. /n Introduced Spring Integration to team, with full flow using JMS, xml transformations, and web service calls (based on classic integration patterns).

LATEST ARTICLES

border:

We all know how the classic SQL injection works (http://en.wikipedia.org/wiki/SQL_injection). A new novel way to try the technique can be found in the following picture:

tags:
border:

My assumption is that you are familiar with continuous integration concepts (http://en.wikipedia.org/wiki/Continuous_integration), and we use Jenkins (http://jenkins-ci.org/) as our build machine. I would like to describe our use of the Jenkins multijob (https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin). I think this plugin simplifies a lot of hassles. Development phases In every project you usually have...

tags:
border:

Maven Profiles Activation per module Maven profiles are very powerful (http://maven.apache.org/guides/introduction/introduction-to-profiles.html). One of the hardest parts of maven, in my opinion, for someone coming from a programing background, is that the flow of maven is not a method call. In a lot of cases we would like to create a...

border:

Micro Services I was at a session for micro services. There were many sessions covering different aspects of micro services (for seeing of the sessions, have a look at: http://www.meetup.com/full-stack-developer-il/events/155911442). I would like to summarize some of the issues raised and to give my two cents on the topic. There...

border:

One of the very nice feature of linux is the option for auto complete on the command line. Yes windows has the power shell, but it is not the same as linux. For those in windows and want a linux shell you can install Cygwin (http://www.cygwin.com/). For those of us that...

border:

@Configuration vs xml with prototypes   There are two sides to using spring. One is the injection side, and the annotations are  @Autowire, @Inject, @Resource (see http://javaandroidandrest.blogspot.co.il/2013/05/spring-bean-overriding-between-projects.html). The other side is the definition of beans: @Component, @Repository, @Server.   The beginning of spring all injections were done via xml configuration...

border:

Eclipse – Jenkins   Of course my assumption is that you are practicing continuous integration. If not you should begin with it right away. For more information see http://en.wikipedia.org/wiki/Continuous_integration. One of the problems with Jenkins is that you need to always open the browser to check what the status of...

tags:
border:

XML Subsets Most applications today use XML for some form of data saving. In testing we also need to validate XML files, find entries in the XML via XPath and search for differences in the XML. A lot of these abilities can be found in the lib of XMLUnit (http://xmlunit.sourceforge.net/)...

tags:
border:

http://spring.io/blog/2013/12/12/announcing-spring-framework-4-0-ga-release

border:

    Hebrew on the Pebble There are many new smart watches out in the market. My personal one is the pebble. In my opinion a watch is an extension of the phone, and not a replacement,   and the pebble does just that. The main disadvantage of the pebble is...