Penrose is a Java-based virtual directory server. A virtual directory enables federating  identity data in real-time from multiple heterogeneous sources like directories, databases, flat files, and Web services, and makes it available to identify users via LDAP.
                                                            
                                                     
                        
                                                
                        
                        
                            Penrose is a java-based virtual directory server. Virtual directory makes data from LDAP directories, databases and/or applications available to client through LDAP protocol. For a demo, please check out http://penrose.safehaus.org