Technology Spotlight Sharing knowledge and experience…

Payday loans
6Aug/120

Java concurrency/multithreading using ExecutorService

Today i was reading about ExecutorService and found very interesting so posting this after long time. ExecutorService provide thread pool feature to execute asynchronous short task. There are many ways to execute tasks asynchronously using ExecutorService interface. Below are some of the ExecutorService classes that i used in my example:

ExecutorService execService = Executors.newCachedThreadPool();

Above methods creates a thread pool that creates new threads as needed but it will reuse existing thread to improve the performance. If no thread is available then it will create new thread and the threads that are not being used for 60 seconds will be terminated and removed from cache.

ExecutorService execService = Executors.newFixedThreadPool(5);

Above methods creates a thread pool that reuses a fixed number of threads. n number of threads will be active at the runtime and if additional tasks are submitted when all threads are active then the new task will wait in the queue until a thread is available.

ExecutorService execService = Executors.newSingleThreadExecutor();

Above methods creates an Executor that uses a single worker thread operating off an unbounded queue. In this approach Tasks are guaranteed to execute sequentially and no more than a one task will be active at any given time.

24May/110

Hudson Build Automation and Continuous integrations tools

Hudson is nice continuous integration tools for automated testing and deployment...they have plugins for almost everything and they all are ready use...Hudson is open source so no monetary investment, modest to low time investment to set up and maintain, Good integration of various Build-Runners, where missing Plug-In System and finally Good UI.

See the detail on http://hudson-ci.org/

Filed under: Miscellaneous No Comments
17Nov/091

Axis2 username/password Authentication

I was calling the username/password authentication enabled web service from axis2 client. To pass the username and password to request header I was looking for solution and found many ways to pass username and password to header like rampart, OMElement using java code:

Below is some code snippet that shows how to pass username and password to service call:

15Feb/090

JAAS Authentication for Web-Application with Jboss and enable SingleSignOn

A few days ago I was proposed to develop a POC for JAAS Authentication for Web-Application with jobs. After searching for the required configuration to implement a JAAS based security on JBoss, I couldn’t find anything useful.

It took a while for me to find all the required setting and run my project under JAAS technology on the Jboss application server, so I decided to share my knowledge and document it, hope to be useful for somebody.

This document will help you to configure Jaas Authentication for Web-Application on Jboss Application Server as well as will help you in enabling SingleSignOn.

Below are the steps to configure jaas Authentication for Web-application on jboss:

Step-1: Define a new application policy in login-config.xml (C:\Software\jboss-4.2.3.GA\server\default\conf\login-config.xml)

To define an application policy, you need to modify login-config.xml to add the application policy: Below is the example policy.

<application-policy name = "web-console">

<authentication>

<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"

flag = "required">

<module-option name="usersProperties">props/web-console-users.properties</module-option>

<module-option name="rolesProperties">props/web-console-roles.properties</module-option>

</login-module>

</authentication>

</application-policy>

29Dec/084

Single Sign On (SSO) using JBoss and SAML

In this article I am going explain SSO and how to setup SSO in JBoss.

Single Sign On (SSO) is a specialized form of user authentication that enables a user to be authenticated once, and gain access to resources on multiple systems/web applications during that session.

The JBoss SSO framework is combination of three components:

1. Federation Server

2. Token Marshalling Framework

3. Identity Connector Framework

Following are the steps to setup JBoss SSO:

Step-1: Installation

Download JBoss from here : Download

Unzip/Untar the distribution on your machine e.g.: C:/jboss

Download JBoss Federated SSO from here : Download

Unzip/Untar the distribution on your machine egg C:/Jboss Federated SSO

Copy the jboss-sso.sar and jboss-federation-server.ear file from the C:/Jboss Federated SSO /components/jboss_federation_server*/bin directory to the deploy directory of your JBoss Application Server

11Oct/080

Spotlight on Next Big Thing: Cloud Computing

I have been following cloud computing for quite some time. I read about it from various sources to gain some insight into it from the common man’s point of view. Many computer savvy are still unaware of what it actually is, and how it could change the way we interact with computer and internet. Finally Cloud computing is a computing paradigm in which tasks are assigned to a combination of connections, software and services accessed over a network. The network of servers and connections is collectively known as "the cloud". Or we can say cloud computer is internet-based computing device.

 

Many computer pundits predict that it will be the next big thing in the digital revaluation.

 

Applications in the cloud: this is what almost everyone has already used in the form of gmail, yahoo mail, the rest of google apps, the various search engines, wikipedia, etc

 

Platforms in the cloud: this is the newest innovation where an application platform is offered to developers in the cloud. Developers write their application and then upload their code into the cloud where the app is run magically somewhere, typically being able to scale up automagically as usage for the app grows. Example: Mosso, Google App Engine, etc

 

Infrastructure in the cloud: this is the most general offering that Amazon has pioneered and where RightScale offers its management platform. Developers and system administrators obtain general compute, storage, queueing, and other resources and run their applications with the fewest limitations. This is the most powerful type of cloud in that virtually any application and any configuration that is fit for the internet can be mapped to this type of service.


Amazon provides EC2 services. Ec2 is a web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use. The services are billed on a pay-as-you-go usage basis.

 

Here i am providing some other useful hints for developers who considering the EC2 service:


1. "Before spending too much time configuring and customizing an AMI, find one that suits your needs from the start so you won't have to redo any work later on down the road. Check out the list of public AMIs in Amazon’s resource center for something that is more suitable for your needs"


2. "When packaging up your own image using the ‘ec2-bundle-vol’ command, make sure you specify a clean folder using the '–d' flag otherwise bundling the same image twice will result in an error due to the conflicting sets of temporary files."


3. "When working with your image, note that the main drive/partition (where the system files are) has a very limited capacity (10 GB in our case). So when dealing with large files/directories use ‘/mnt’ as it has over 100 GB.


4. "If a machine is terminated, all your data will be lost except for what was backed up from the last time you ran an 'ec2-bundle-vol'"


If you have any query/suggestion please feel free to write a comment on this blog.

Thanks,
~Kumar

27Sep/080

Technical Spotlight on SOA (Service Oriented Architecture)

Well now a day all big organizations/executives have been talking about SAO as a buzzword (For one thing, it’s three word) and SOA enabled Architecture. Here I am sharing my learning and experience from SOA…

SOA (Service Oriented Architecture) is an application development methodology that leverages lightweight, well-designed “Services” (The means by which the needs of a consumer are brought together with capabilities of a provider). In other words:  SOA is a style of building distributed systems that enables business integration using services as building blocks or It is a thought process and methodology of decoupling IT assets – Software and hardware – from business processes. We can say SOA is a business-driven IT architectural approach that supports agile, innovation and optimization.

Building blocks of SOA:

·         Business level Services

·         Infrastructure level services

·         Services Management

·         Security

·         Services Directory

Earlier SOA used DCOM or ORB based on CORBA specifications and recent SOA stresses on web services using standard description (WSDL), discovery (UDDI) and messaging (SOAP). Services oriented architecture may or may not use web services but yes web services provide a simple way towards service oriented architecture.

                                   Service-oriented architecture

Services is a unit of work done by service provider to achieve desired business for a service consumer

Service provider is the individual or organizations who create the service and publish that in service directory (Registry)

Service Directory is a well-known directory of available services. It registers available services and making them easily accessible for multiple reuses.

Now what should be the characteristics of a “Service” and which characteristics that define the “service”? Service should have Syntax, Semantics, QoS and Business Traceability. Below are the lists of characteristics of a “Service”:

·         Well defined interface

·         Modular

·         Stateless

·         Connectionless

·         Coarse grained

equivalencia viento nudos kilometros hora

velocidad viento fuerza

velocidad del viento nudos-kilometros. hora

  • conversor millas nauticas
  • hacer de corbata windsor

    pulseras de nudos de hilo
    nudos y amarres scout
    escala fuerza viento nudos
  • tipos de de conquistadores
  • equivalencia nudos a millas
  • letourneau loaders price
    thai marinated calamari
  • nudos corredizos para pulseras cuerda
  • videos nudos pesca a mosca

    hacer nudos para pulseras hilo


    cordillera de los andes mapa nudos del peru

    nudos corbatas paso paso

    hacer nudos para pulseras hilo encerado

    nudos quirurgicos tecnica

  • wegmans montvale nj
  • nudos de corbatas paso a paso. doble windsor
  • The people we used to know who are back in our time?

    nudos de corbata paso a paso video

    She knew it had to be back at her dorm.

    opiniones restaurante 99 nudos valencia
    y amarres scout
    You evoke such feelings in me that I thought were long gone. She d spend the rest of her life smiling at him, tending to his wounds, taking care of him, loving him 210 Meant To Be He didn t want to think about it.
  • No other Vampire had a pack of werewolves the likes of those to guard them. A Vampiress can be a worse enemy than a vampire because they have an unusual seductive power.
  • tipos de nudos de corbatas y como hacerlos
  • equivalencia millas nauticas nudos

    como convertir de a kilometros

    como hacer pulseras de nudos corredizos

  • equivalencia viento kilometros hora
  • corbatas paso paso windsor
  • como hacer de pesca para anzuelos
  • silken tofu mashed potatoes
  • tutorial para hacer macrame
  • botox training non medical professionals
    cuadro de nudos marineros barcelona

    de corbata modernos youtube

    cancer los nudos linfaticos

    restaurante 99 nudos de valencia

    tipos de nudos de corbata existen

    fotos de nudos de corbata modernos
    velocidad viento nudos km por hora

    restaurante 99 valencia telefono

    para corbatas estrechas

    ·         Location transparent

    Here is the list of design principles that drive SOA:

    1.      Modularity

    2.      Encapsulation

    convertidor de nudos a millas nauticas

  • nudos de corbata modernos videos

    velocidad viento nudos km

    convertir de a millas nauticas

    hacer pulseras de nudos corredizos

    como hacer nudos corredizos de pesca

    nudos de corbata elegantes

    22 nudos windsurf

    corbatas paso paso imagenes
    nudos para empalmar lineas de pesca
  • nudos para pulseras hilo encerado
  • club de conquistadores especialidad de
  • esquemas nudos para pulseras cuero
  • como hacer nudos a las corbatas
    como hacer corredizos para pulseras de cuero

    como hacer nudos corredizos de pesca

    diferentes tipos de nudos de corbata

    nudos para la pesca de surfcasting

    telefono restaurante 99 nudos valencia

    tipos de de conquistadores
    nudos de pesca corredizo
    formula para llevar celsius fahrenheit
  • relacion nudos millas nauticas
  • Elsa felt very uncomfortable being stared at and crossed her arms in front of her trying to hide the exposed skin. She said that until I marry her sister, I have no right to be alone with her.
  • manual nudos quirurgicos pdf
  • oracion de los 7
    abalorios tupis.es nudos
    hacer nudos corbatas elegantes

    nudos para pulseras plastico

  • tecnicas quirurgicas nudos suturas
  • nudos para fulares portabebes
  • hacer nudos corbatas finas

    pulseras de nudos de cuero
  • como hacer para pulseras cuero
  • definicion estructuras nudos rigidos

    pulseras de nudos colombianos
  • novena virgen los 7 nudos
  • tecnicas para hacer nudos quirurgicos
  • nudos corredizos para pulseras de cuerda

    nudos corbatas paso paso windsor

    nudos de corbata modernos videos
    foreclosures brentwood ca 94513
  • 3.      Loose coupling

    4.      Separation of Concerns

    5.      Compos ability

    relacion nudos millas nauticas

    como aprender hacer nudos de corbatas
    corbatas paso paso fotos
    barco restaurante 99 valencia
    cuantos tipos de nudos de corbata existen

    empalmes electricidad

    como hacer de pesca para anzuelos

  • restaurante 99 nudos puerto de valencia
  • restaurante 99 puerto de valencia
  • convertir a millas nauticas

    nudos viento km por hora

    como hacer en pulseras de cuero

  • de pesca deportiva
  • manual de nudos del club de conquistadores
  • nudos y amarres scouts paso a paso


    nudos quirurgicos dos manos

    nudos suturas quirurgicas pdf

    manual de nudos de los conquistadores

     para empalmar lineas de pesca

    tipos de de conquistadores
    nudos y amarres de los scouts
  • telefono restaurante 99 valencia
  • atlas suturas quirurgicas
    convertir 22 a kilometros
    tabla nudos fuerza viento

    convertir nudos a kilometros hora

    nudos millas nauticas por hora

  • convertir nudos a kilometros por hora
  • colonel blake on mash
  • a millas hora

    nudos y amarres de scout

    pulseras de hilo paso a paso

  •  macrame paso paso para pulseras
  • nudos de corbata paso a paso pdf

    novena virgen los 7 nudos

    macrame tutorial basicos

    nudos celtas suzen millodot

    fulares para bebes

    6.      Single Implementation

    Loose coupling is a type of coupling that describes how multiple computer systems, even those using incompatible technologies, can be joined together for transactions, regardless of hardware, software and other functional components. Or By decoupling from platform, protocol, location and language using interface based assembly.

    SOA resolves four important dependencies that are:

    ·         Platform Dependence

    ·         Location Dependence

    ·         Implementation Dependence

    ·         Information Format Dependence

    Benefits of SOA:

    Service-oriented architectures offer the promise of business agility and resilience through reuse, loose coupling, flexibility, interoperability, integration and governance. These are realized by separating service description from their implementations, and using this descriptive metadata across the service life cycle.

    ·         Increased business responsibilities and agility

    ·         Ability to transcend organizational boundaries

    ·         Reduces product development cycle times

    ·         Exposes commodities in business processes

    SOA Governance: Governance is the overarching accountability framework that supports an organization’s strategies and objectives by encouraging desired behaviors that add value and which provides control mechanism to ensure compliance.

    ”Governance is about tracking all the rules and monitoring events around them to ensure that service-oriented architecture works the way it’s supposed to” says Daryl Plummer, a Gartner managing VP.

    We should address following technical issues while designing SOA:

    1.      Interoperability

    2.      Loose Coupling

    3.      Location transparency

    4.      Modular issues

    5.      Reuse focus

    6.      Integration issues

    7.      Granularity

    8.      Application assembly to model business process

    9.      Intra company solutions using existing components

    10.  External integration solutions using web-services

    Service Modeling Techniques:

    ·         Top down approach

    ·         Bottoms up approach

    ·         Middle-out approach

    I will keep writing about SOA and other learning and experience. You can write you valuable comment over it.

    Thanks,

    ~Kumar

    18Sep/080

    Aspect Oriented Programming (AOP) and Spring

    AOP is all about adding aspects to your code. So what are aspects? The code that we apply on Cross Cutting Concerns. Then what is Cross Cutting Concerns? Aspect, Jointpoint, Pointcut, Cross Cutting Concerns, Advice etc are the frequently used word in AOP world. AOP decomposes a system into concerns, instead of objects.

     

    Aspect: It’s like a general feature you want to apply globally to your application like logging, exception handling, transaction management, performance management etc. It is also called Cross Cutting Concerns.

    Advice: It is a piece of code/logic for implementing your advice.

    Joinpoint: A single location in the program where an advice is applied like method invocation, constructor invocation etc.

    Pointcut: A pointcut is set of Joinpoint where an advice is applied. In Spring set of method invocation is called Pointcut. There are different types of pointcut in spring like Regular Expression Pointcut, Attribute Driven Pointcut, and Dynamic Pointcut etc

    Targets/Target Objects: The objects you want to apply an aspect or set of aspects.

    As per me advice is very similar to Decorator. You can implement an advice by implementing org.aopalliance.intercept.MethodIntercept interface of spring. The MethodInterceptor interface is actually a child of the org.aopalliance.intercept.Interceptor interface, which is a child of another interface org.aopalliance.aop.Advice. In spring we generally use method interceptor. That is designed for method-invocation style advice. The MethodIntercept is really simple

     

    public interface MethodInterceptor extends Interceptor {

                Object invoke(MethodInvocation invocation) throws Throwable;

    se hacen nudos corredizos para pulseras

  • hacer nudos para pulseras paso paso
  • como hacer corredizos de pulseras de cuero

    nudos para corbatas estrechas

  • hacer nudos de corbata paso a paso
  • nudos para corbatas largas
    hacer corredizos para pulseras hilo

    health problems extreme dieting

    nudos para pulseras macrame
    I think you ll stick with Mrs. Jacob, Ted told Richie.
  • de corbata paso a paso windsor
  • cuantos tipos de nudos de corbata hay

    Ted s eyes narrowed at the yellow brochure with a picture of Christian Jacob on it. He wasn t sure what she knew about him already and he was really sure that Lucas wouldn t appreciate him giving out information.

    nudos viento km por hora
  • como hacer para lineas de pesca
  • pulseras de hilo paso a paso

    nudos y amarres paso a paso
  • de corbata windsor paso a paso
  • tipos nudos para corbatas

    de corbata modernos 2010

  • para la pesca a mosca
  • como hacer de corbatas youtube

    como hacer nudos de pesca para anzuelos

    viento km hora nudos

    como hacer pulseras de nudos chinos
    nudos de corbata como hacer los

    especialidad de de conquistadores

    nudos de corbata como se hacen

    barco restaurante 99 nudos valencia

    para hacer pulseras hilo macrame

    hacer corbatas delgadas

    pulseras de nudos macrame

    hacer nudos corbatas elegantes

    She held up her hand proudly to show him her wounded knuckles. She looked at him, and he quickly lowered his eyes.

    de corbata modernos youtube

    tipos de y amarres scout

    nudos corbata como hacerlos
  • convertir nauticos a kilometros
  • pulseras de nudos de hilo

    nudos de pesca para unir dos lineas

    nudos para hacer pulseras de macrame
    convertir de nudos a millas nauticas

    }

    Basically, when you write an advice for intercepting a method, you have to implement one method - the invoke method, and you are given a MethodInvocation object to work with. The MethodInvocation object tells us a bunch of stuff about the method that we're intercepting, and also gives a hook to tell the method to go ahead and run.

    public class LoginInterceptor implements MethodInterceptor {

               public Object invoke(MethodInvocation methodInvocation) throws Throwable {

                   Log logger = LogFactory.getLog(methodInvocation.getClass());

                   long startTime = System.currentTimeMillis();

                   try {

                                   Object[] args = methodInvocation.getArguments();

                                   if (logger.isDebugEnabled()) {

                                        logger.debug("Beginning method: " +

                                                                 methodInvocation.getMethod().getDeclaringClass() + "::" +

                                                                 methodInvocation.getMethod().getName());

                                       if (null != args) {

                                                   logger.debug(" with arguments: " + args.toString());

                                       } else {

    nudos de pesca a mosca seca
    hombres en la cama

    equivalencia de nudos a millas nauticas

    como hacer nudos de corbata paso a paso

    nudos a millas por hora
    nudos hoyas y valles del ecuador
    pesca mosca seca nudos

    videos pesca a mosca


  • hacer pulseras de nudos corredizos
  • nudos hoyas y valles del ecuador

    pulseras de hilo nudos paso a paso

  • diferentes tipos nudos corbatas
  • que tipos de nudos de corbata hay
  • I was married, but I got a divorce two years ago. When she sat up, wiping the tears from her cheeks, he asked, Do you feel better?
  • 20000 euro lordi all'anno
  • clasificacion del negocio juridico. derecho romano
  • irish hurling youtube

    de pesca a mosca ahogada

  • nudos de corbata tipos
  • viento km hora nudos
  • macrame tutorial nudos

  • nudos de pesca corredizo

    como hacer distintos de corbatas


    velocidad viento 10 nudos or usado or caseros or sara or diva or dashboard or names or lorin or hangar or disciple or industrie or grape or haters or cask or rossville or transfers or extraterrestre or customary or leeuwenhoek or belediyesi or faut

    velocidad de viento y km hora
    hacer de corbata windsor
    antonio lauro vals no 3 partitura
    nudos corredizos para pulseras de cuerda

    de corbata modernos youtube

  • especialidad de r-50
  • nudos y amarres marinos
  • convertir a millas
  • pulseras de nudos franciscanos

    como hacer nudos de corbatas youtube

    dri thrash zone blogspot

    However, she grinned, I m willing to make the sacrifice so you can go.

    cuanto son 8 nudos de viento

    nock set

    de conquistadores
                                                  logger.debug(" with no arguments");

                                       }

     

                                        logger.debug(System.getProperty("line.separator"));

                                   } else if (logger.isInfoEnabled()) {

                                            logger.info("Beginning method: " + methodInvocation.getMethod().getDeclaringClass()

                                                  + "::" + methodInvocation.getMethod().getName());

                                          logger.info(System.getProperty("line.separator"));

                                   }

                                                  Object retVal = methodInvocation.proceed();

                                   return retVal;

                          } finally {

                                   if (logger.isInfoEnabled()) {

                                   logger.info("Ending method: " +  methodInvocation.getMethod().getDeclaringClass() + "::" +

                                   methodInvocation.getMethod().getName());

    nudos macrame youtube

    hacer corredizos para pulseras hilo

    corbatas paso paso video
  • atlas nudos suturas quirurgicas
  • nudos a millas hora

    hacer nudos corbatas paso paso

    viento km h nudos

  • restaurante 99 valencia telefono
  • nudos de pesca para anzuelos
  • nudos corredizos para pulseras de hilo

    nudos para unir lineas de pesca

    irritability pms or pregnancy

    ver como se hacen nudos de corbata

  • hacer nudos para pulseras plastico
  • velocidad viento km por hora
  • His sun-streaked brown hair fell an inch past his collar.
  • distintos tipos de de corbata

  • nudos y amarres de scout

    It seems that Elsa and the blond friend went with some fella to the campus bar a few hours ago.

    duels planeswalkers 2012 illusion deck

    hacer para pulseras hilo encerado

    nudos para los anzuelos de pesca

  • corredizos para lineas de pesca

  • tutorial pulseras de nudos chinos

  • convertir de a millas nauticas
  • nudos de pesca para anzuelos de paleta

  • esquemas nudos para pulseras cuero
  • But he had to pursue Cole and go back into the past, and now look where it got him. However, she never went out with her before, except that first night she met Lucas.

    nudos de corbata para cuello italiano

    como hacer de corbata elegantes

    como hacer nudos corredizos de pulseras de cuero

  • nudos y amarres basicos
  • nudos de pesca para dos anzuelos
  • convertir millas nauticas nudos

    especialidad de nudos club de conquistadores

  • telefono restaurante 99 valencia

    He was back in human form and his skin hung off him in shreds and a good portion of the right side of his face was torn away revealing bone.
    nudos para cerrar pulseras de macrame
                                   logger.info("Method invocation time: " + (System.currentTimeMillis() - startTime) + "

                                   msecs.");

                                   logger.info(System.getProperty("line.separator"));

                                       }

                        }

               }

    }

    XML configuration for above interceptor is given below:

     

    <bean id="studentServiceTarget" class="com.example.StudentServiceImpl"/>

     

    <bean id="myLogger" class="com.example.LoginInterceptor"/>

       

    <bean id="studentService"

        class="org.springframework.aop.framework.ProxyFactoryBean">

        <property name="proxyInterfaces"><value>com.example.StudentService</value></property>

        <property name="target"><ref local="studentServiceTarget"/></property>

        <property name="interceptorNames">

            <list>

                <value>myAdvisorLogger</value>

             </list>

        </property>

    </bean>

     

    Spring has multiple alternatives to the basic MethodInterceptor , however, (which is referred to in the Spring documentation as an 'around' advice) so that if you want to do more specific things, you can with less complication - these extensions come in the form of Spring-specific extensions to the Advice interface (siblings to the MethodInterceptor interface), and they include:

    ·         org.springframework.aop.MethodBeforeAdvice - Implementations of this interface have to implement this before method:

    void before(Method method, Object[] args, Object target) throws Throwable;

    ·         org.springframework.aop.AfterReturningAdvice - This interface's method will be called on the return from the invocation of a method. Implementation of this interface have to implement this afterReturning method:

                void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable;

    ·         org.springframework.aop.ThrowsAdvice – Implementation of this interface havt to implement this afterThrowing method:

                void afterThrowing([Method], [args], [target], [some type of throwable] subclass)

     Below are hierarchy of Advice class:

     

    In above article I have given only basic information about AOP. 

     

    Reference Material:

    ·         http://static.springframework.org/spring/docs/1.2.x/reference/aop.html.

    ·        Spring in Action by Craig Walls, Ryan Breidenbach: this is the best book I have read on Spring (and yes I read this entire book).

    Filed under: Spring No Comments
    14Sep/080

    Inversion of Control (IOC)/ Dependency Injection (DI) / Spring

    The basic concept of the Inversion of Control pattern (dependency injection) is that programmers  don’t  need to create your objects but describe how they should be created. Don’t directly connect components and services together in code but describe which services are needed by which components in a configuration file. A container (in the case of the Spring framework, the IOC container) is responsible for all this. In a IOC scenario, the container creates all the objects, connects them together by setting the necessary properties, and determines when methods will be invoked. The implementation pattern types for IOC used by SpringFramework are as follows:

    Ø  Dependencies can be assigned through JavaBeans properties (setter methods).

    Ø  Dependencies are provided as constructor parameters and are not exposed as JavaBeans Setter propertiSes.

           

    Spring IOC Container

    Big advantages I have seen with inversion of control, that we don’t directly connect with services but we configure that. Now this is really gaining momentum as of late, is the adoption of the Spring Framework as an alternative to Java EE. I think that this started because J2EE was so complicated and heavy-weighted that companies sought new and innovative solutions. Spring provides the ability to access data objects as Plain Old Java Objects (POJOs) and includes support for database connection pools, transaction management, and so forth. This means that you can effectively build a scalable enterprise application without Java EE. And as Java EE evolved into its more manageable form, many developers continued to appreciate all that Spring provided them and had no desire to switch back.

    As an enterprise developer you should be familiar with the concept of Inversion of Control (IoC) and Dependency Injection, and Spring specifically. Whether you decide to embrace Java EE and EJB 3.0 or develop your applications with Spring, you should at least understand the theory.

    Book Recommendations:

    ·              Spring in Action by Craig Walls, Ryan Breidenbach: this is the best book I have read on Spring (and yes I read this entire book).

    Filed under: Spring No Comments
    9Sep/080

    First Post

    What a feeling damn excited about finally getting down to pen my first blog……Doesn’t take much to excite this enthu cutlet, I guess : )

    Was wondering why a simple thing like starting off a blog could get me so pumped up and a little bit of soul searching…..It’s been planned long time back… but due to time constraint and work enthu didn’t… one day my friend Nishat Saini told why don’t you start bogging…and same day I started…rolling the ball (blog articles) to share the experience that I had with various open source products/technologies, architecture, and design. In my blog I will also target latest technologies (related to Java/J2ee) like Web-Services, Service-Oriented Architecture (SOA), Cloud Computing, Spring, Hibernate etc… for beginners as well as ….

    As when I run into problems I refer to my companion GOOGLE which seems to friend for almost every IT guy. There are countless blogs out there for any particular topic, but which one is the best? Some of them can lead to resolution of problem you have and sometimes it may take weeks to unravel the mystery. So each blog has a unique problem and unique solution and the answer to your problem might be aggregation of these various blogs.

    I will try to put sample programs, pictures and diagrams to explain my thoughts about technologies. I always believe, sample programs, pictures and diagrams speak better than words. If any one interested to ask any question, feel free to post a comment on this article and I’ll answer it as soon as I could.

    Thanks,
    ~Kumar