galaxycats / hoth Goto Github PK
View Code? Open in Web Editor NEWRegistry and deployment description abstraction for SOA-Services
License: MIT License
Registry and deployment description abstraction for SOA-Services
License: MIT License
the whole blackbox would be easier to inspect if a list of defined modules would be available.
Something like this in modules.rb
def self.module_debug
instance.service_modules
end
Params Decoding is now performed directly in the RackProvider. The goal is to find out the transport type dynamically by the name of the called service and the definitions in the module_definition config file, and delgate the params decoding to the returned transporter.
see: http://github.com/galaxycats/hoth/blob/master/lib/hoth/transport/http.rb#L14
nice easter egg .. not so nice how long it took me to find
is the "unless" needed there anyway? there is another check in:
http://github.com/galaxycats/hoth/blob/master/lib/hoth/service.rb#L34
and it would be nice to find an error for a http transport even if it does not return anything
The env definitions make the module_def really complex. Is anybody really using this?
An example of just one module:
service_module :messaging_module do
env :development do
endpoint :default do
host
port
transport :http
end
endpoint :workling do
host 'localhost'
port 22122
transport :workling
end
end
env :production do
endpoint :default do
host
port 200
transport :http
end
endpoint :workling do
host 'localhost'
port 22122
transport :workling
end
end
env :test do
endpoint :default do
host
port
transport :http
end
endpoint :workling do
host 'localhost'
port 22122
transport :workling
end
end
RackProvider should not use strings as rack body parameter, as it will break in Ruby 1.9. See rack specification...
https transports should both be available
This decision should be performed by the definition of the modules.
To achieve this, the runing ruby application must define which modules are implemented by this application.
The service consumer should not be responsible to rescue all kinds of exceptions like HTTP exceptions. Instead i.e. there should be a unified ServiceNotAvailable exception, which wraps the original exceptions. Some work has already been done in HttpTransporter, line 22.
One of the project dependencies requires "system_timer" gem. Unfortunately, it does not compile with ruby 1.9
It seems that there is a working fork at https://github.com/engineyard/system-timer19
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.