Browsing projects by Tag(s)

Select a tag to browse associated projects and drill deeper into the tag cloud.

Showing page 1 of 1

waiter: Effective DNS-SD for JavaFor a long time, Java has lacked both a clean, modern DNS library and an effective DNS-SD (Service Discovery) library. Why DNS-SD?DNS-SD is essential in enabling ZeroConf (zero configuration) of deployed Java and non-Java services. What's wrong with what ... [More] we've got?Native Implementations are LimitedWhilst there are wrappers for native implementations (Bonjour and Avahi) both of these are very limited in scope; one is only really usable on Macs and Windows (how many developers have the time these days to make custom binaries for Unix systems), and the other lacks sufficient Java interoperability. Pure JavaThe only pure Java implementation, Strangeberry jmDNS, never seemed to work reliably for me... I've also found it hard to wrap other DNS clients to give me the multicast features I needed. As such, we've written a very clean DNS client library from scratch. Test DrivenLarge parts of waiter were written using TDD. waiter has a very high test coverage, so giving you the confidence that things are likely to work. Very little of anything else out there is... Waiter's other usagesWaiter as a Java DNS library replacementThe core of waiter is a clean, modern Java DNS library which can be used explicitly instead of the very weak services in the JDK. It be can be used with or without caching, and provides access to far more of the DNS messages, allowing Java programmers to truly leverage DNS in service clusters and distributed systems. Waiter: Good example of Java NIO socketswaiter uses Java NIO sockets, and makes a good example of how to string together enough code to use these effectively and in an exception-friendly manner. Extending waiter: Code Evolution, not Reusewaiter is meant to be extended by you modifying or augmenting the source. It's not a component to be dropped in. As such, there are almost no getters and setters - they violate good OO for a start - and nearly everything happens with constructor injection. There's no XML configuration, no Spring, no dynamic mocks (statically created ones are easier to refactor) and very few third party dependencies. Why? Because it is a library, with one purpose. Those sorts of things belong in systems, not libraries, if they are needed at all... Where choices need to be made, we use strategy patterns or methods in APIs, not complex config in another peculiar language. [Less]

0
 
  0 reviews  |  0 users  |  33,093 lines of code  |  0 current contributors  |  Analyzed about 23 hours ago
 
 

Mahalo is a pure Java implementation of mDNS and DNS-SD, based off of the draft-cheshire-dnsext-multicastdns.txt and draft-cheshire-dnsext-dns-sd.txt documents. It has been tested with Apple's Bonjour service and seems to work, though it has not gone through Bonjour certification. Mahalo is tangentially based off of the JmDNS project.

0
 
  0 reviews  |  0 users  |  2,465 lines of code  |  0 current contributors  |  Analyzed about 18 hours ago
 
 

Avahi4J is a java wrapper around avahi, an open-source Zeroconf implementation.

0
 
  0 reviews  |  0 users  |  3,062 lines of code  |  0 current contributors  |  Analyzed 3 days ago
 
 
 
 

Creative Commons License Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.