Falcor with java backend server - netflix

I recently started looking into the falcor library from Netflix and trying a proof of concept based on our data.
I have been looking at this library with some interest and although there are tons of examples of configuring and working with routes on a node server there isn't much information for doing the same on a java server. Although I have the knowledge of the libraries availability, but again not much information online. Is there a reference available on how to go about using falcor router with a java server.

The Falcor Java server libraries are published on Maven under the com.netflix.falcor group. The docs are sparse, though.

Related

What are the difference between NGINX Plus and NGINX Community edition? Some doubts in the use of NGINX in the WSO2 EI cluster creation

I am absolutly new in NGINX and I have the following doubts about this product.
I have to create a WSO2 EI cluster and reading the official documentation it says to use NGINIX as load balancer:
https://docs.wso2.com/display/EI650/Clustering+the+ESB+Profile#ClusteringtheESBProfile-Configuringtheloadbalancer
On the official documentation it is specified that:
Follow the steps below to configure NGINX Plus version 1.7.11 or NGINX
community version 1.9.2 as the load balancer.
So the first doubt: what is the difference between NGINX Plus and NGINX Community? Is the first the payment version and the second a free version?
In case my assertion is correct what are the limitation in the use of the community edition?
Another doubt is that going on the NGNIX website:
https://www.nginx.com/solutions/adc/
it seems to me that it offers different products (from load balancer to web server and other stuff). Is it a single product doing more jobs or is it composed by different modules that have to be installed separately?
Another doubt is: basing on the amount of traffic that the load balancer have to handle changes the hardware requirements of the VM where I have to install it?
Thank you
Is the first the payment version and the second a free version?
Basically - yes. Plus additional features.
NGINX Plus as well suports out of box sticky sessions needed for HA setup for carbon console, active service healthcheck and more. I needed the two mentioned.
In theory you could build (compile) additional addon modules (e. g. for sticky sessions and healthchecks) with the community edition too, but it's not always working as smoothly as I expected. (you may as well consider Apache httpd)
It may worth to have support at hand, mainly for critical deployments. I prefer this solution, rather than clients calling me during weekends to check my custom builds.
Is it a single product doing more jobs or is it composed by different modules that have to be installed separately?
NGINX offers more products (APIM, WAF,..) as far I know it's all the NGINX Plus with additional modules. But for load balancing you may be ok with basic web server (load balancer) and keepalived
Another doubt is.. changes the hardware requirements of the VM where I have to install it?
NGINX can handle A LOT of traffic even on modest infrastructure, much more than the wso2ei itself, imho nginx won't be your bottleneck until you don't do anything special (WAF) or stupid (log payloads)

Where to find IBM WebSphere WMQ 6.0 jar files

I am trying to implement code where I can send and receive the SOAP messages to IBM MQ. As of my knowledge jar file are required for my code to work, but could not find any place where either I can download the files or can do whole setup of WebSphere 6.0
Do anyone have any idea how can I get it ?
Please be aware that grabbing the jar files from an MQ Server or other installation is not supported by IBM and never has been. However, because it is one of the most commonly used methods to install the MQ client for Java or JMS and fairly common in Java developer culture, IBM has provided a Java-only install option. Please see the Redistributable Clients page in the Knowledge Center for details.
As the name suggests, this install provides an MQ Client package that can be redistributed with independently developed MQ applications. While that is helpful, the main reason IBM provides it is to provide a lightweight install package that...
Contains the correct and complete set of jar files as packaged by IBM.
Is intact and verifiable against a known specification and inventory.
Can reliably be expected to perform as per the documentation set for that version.
Contains all of IBM's diagnostic utilities both in the compiled binaries and in the Java classes.
Contains additional utilities such as GSKit for managing certificates.
Can be patched using IBM's standard Fix Pack install media so that integrity of the installed classes and libraries is preserved.
When using IBM's install media and procedure, the result is far more stable but int he event something goes wrong, the presence of the diagnostic utilities and conformance to a standard install procedure can dramatically reduce outage durations.
Also, there are occasional instances in which a customer with full support entitlements is told that their non-standard installation is not supported and they need to correct it before continuing the PMR. Though this doesn't happen often, in most cases the problem is resolved when the MQ client is installed according to spec. When that doesn't fix it, at least diagnostics can proceed at a faster pace.
The link above has all the details, including links to the client downloads, and is highly recommended reading. You can also go directly to Fix Central for the downloads. Fix Central offers all supported MQ client versions and the relocatable clients come in v8.0 and up. In the download list, look for the "All Java" package.
As Tim noted, mixing client and server versions is supported, provided both client and server are currently in service. Generally you want to develop against the latest version of MQ client because it has the most recent client-side features and will have the longest service life before a version upgrade is required.
Assuming you're on a Unix platform for your queue manager, the client will be found at:
/opt/mqm/java/lib
However, all MQ clients are compatible with all queue manager versions. I strongly recommend you use a client which is still supported, which means 7.1, 7.5, 8.0, or 9.0 at time of writing. These are freely downloadable from the SupportPac website.
The SupportPacs of interest are those starting 'MQC'. SupportPac MQC8 for example contains the MQ V8.0 client.
Thanks everyone. Just an update to the above answer. In my case I have asked the WebSphere administrator for providing me the lib folders which contains all the required MQ jar files.
I have asked him to provide following files from the C:\Program Files (x86)\IBM\WebSphere MQ\Java\lib\ folders:
* com.ibm.mq.jar
* connector.jar
* com.ibm.mq.jmqi.jar
* com.ibm.mq.headers.jar
* com.ibm.mq.commonservices.jar

NSS DTLS sample application codes

Is there sample standalone "application" codes of utilizing NSS DTLS/SRTP features somewhere available?
There are sample application codes of cmd & tests that utilize SSL3/TLS features that come with NSS Mozilla releases, but none for DTLS features - though there is DTLS support in nss/lib/ssl/ codes, but those are to SSL3/DTLS internal working.
I have tried googling for days but to no avail. I've been trying for a couple of weeks to write codes to access those internal codes, which requires quite a lot hacking to create internal hooks in ssl/ directory, which I think is not the right approach and not going well. But I simply can't find a reasonable API, in dtlscon.c, ssl3con.c and etc., for application to use or a sample app to follow.
Could someone provide some hints or a sample standalone client/server application codes that actually utilize the NSS DTLS/SRTP features?
I'm doing the coding in C under NSS cmd/tests or JAVA under nss/jss/org/Mozilla/jss.
Thanks,

Java application from local machine to the server

I am developing an application in Java on a local machine. This is my first project, and I am afraid I started it in a wrong way, since I will have to install it on every machine, which can reveal such issues as Java versions incompatibility or even its absence on some machines. Besides, I would like to write the GUI in HTML.
So, I've decided it'd be better to write a server side application and open it in the browser. All users are connected to the server via LAN.
I would like to use something like WAMP, but in Java. I've never written web applications in Java.
Could you please help me with advice, which technology I should use (JSP, Apache Tomcat, something else), what kind of problems I can meet transferring the existing code into the server (I use a lot of external libraries, like Apache POI, Jsoup, HttpClient, etc), and tutorials on Java server programming (I've found so many information, I just do not know where I should start learning).
Thank you!
I am currently developing using spring. I think it's a good tool.
http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/index.html
http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/mvc.html
good luck in your app

Alfresco Community Enterprise Feature Comparison

I've seen this question but the answers are simply not good enough. I've searched the web and could find a clear listing of the main differences.
I am particularly surprised to see contradictions in the above link, that holds only 4 short answers.
So the question is, beyond support, what are (all) the differences between Alfresco Community and Enterprise editions (for the current versions of course)?
Are there functional or technical features that available in the Enterprise edition, that are not in the community edition?
I find it strange that it's so difficult to get a clear list. Looking at the forums to find this answer is not a serious option from a business perspective.
Until now, I found this link to be useful, but it's from 2009.
In particular, I find the platform support interesting, with the community edition supporting only lamp stuff:
Linux
MySQL
Tomcat
OpenLDAP
Firefox
And the enterprise edition supporting:
Windows
SQL Server
WebLogic, WebSphere
AD/Kerberos
IE and Safari
Apparently, these features are only available in the enterprise edition:
JMX monitoring
Runtime admininstration: What's that exactly? And what's in the community edition then?
Runtime indexing consistency check and update: What's in the community edition then?
High performance and availability: How is that implemented and what's in the community edition then?
Storage policies
Open source and proprietary technology stack support: which ones exaclty? Which ones are supported in the community edition?
If anyone could guide me towards serious documentation about these differences, that would be great.
I also went through the wiki but could not find an answer to my questions in there.
differences between Enterprise and Community vary in detail from version to version and are mainly visible for administrators. We see or maintain both flavors of Alfresco in midsize to very large environments and I would say it's more or less a question of taste and budget what the best decision / edition is for you. Excellent skills in infrastructure and java are highly advisable for both editions to run Alfresco in production.
The technical differences are not as dramatic as not being able to provide very similar functionality for the users - so if you're actually in a decision you should focus on a good technical partner, the support services and maybe the fact that you only get official patches in the Enterprise subscription, not on the Community. BTW Alfresco Enterprise is not Open Source but this is not a real point of interest for most end users. You can access the code as a subscription customer but it is not public available/accessible.
The main differences in features are already named more or less:
Administration
Enterprise has more views and setting in the admin web GUI. In Community you can access most configuration only from the command line. This may be a restriction but in real live Administrators prefer the command line and scripting automation.
Enterprise lets you change some Alfresco settings during runtime (most settings still require restart). Some can be change in the GUI and more in the jmx interface. Also you're able to stop and start subsystems like the CIFS protocol server. We use this feature to switch a system in read only mode. This point is meant with "runtime admininstration". Community requires restart of the service for most configuration changes. It is possible to work around this by advanced scripting like groovy or by implementing modules.
Indexing
Runtime indexing consistency check and update is not a self healing functionality as expected. You will have to learn (at least for now) that you have to recreate the Alfresco index from time to time even in Enterprise environments and that it is better to focus on good strategies how to speed recreation or how to setup standby indexes instead of hunting failed indexing transactions using the check and update methods. For major document model changes you need to recreate the index anyway.
High performance and availability
This is mainly the cluster and replication functionality which is no longer available in Community. It's similar to MS Clusters: It's a lot, lot work for very view more availability since some concepts are missing. The price is high in terms of complexity and can end up in loss of robustness. Even with enterprise support it's a hard job to keep a alfresco cluster running - so you need very good arguments why to go this way. But of course: its possible and available!
High performance: There shouldn't be any difference and if - I'm very curious about the explanation.
Technology stack
The main difference is the database support. In the Community you only can choose between MySQL and Postgres (No Oracle or MS SQL for Community). All other technologies are independent from Enterprise or Community (AD, Kerberos, OS, Browser, ...)
Java Container: I believe over 95% of all Alfresco installations run in tomcat. That's the configuration which is documented, tested and scales. Using WebLogic or WebSphere gives you no added value except new challenges - quite the contrary: You have to solve most issues for yourself and can't benefit from others experience.
Storage policies: I'm not pretty sure and should check in 4.2.x if the Content Store Selector / Storage policies is no longer available in the Community, but it was there in the 3.x versions.
[Edit]: storage policies have been removed in Community 4.2.x:
NoSuchBeanDefinitionException: No bean named 'storeSelectorContentStoreBase' is defined
If there is a really need for this functionality someone may re-enable that feature by coding a module for Community.
Regards
This page explains the difference between the editions:
https://wiki.alfresco.com/wiki/Enterprise_Edition
This page is the canonical, comprehensive list of the differences.
If you are considering an Enterprise Subscription and you have a question that isn't answered by what you can find on that page, you should talk to your account rep.
Well, regarding JMX monitoring:
Runtime administration: Alfresco enterprise allows to perform certain actions on Alfresco subsystems without restarting the server. This allows you to be very fast during debugging/developing and also making changes in production environment. Also you can access the JMX interface that supports JMX Remoting.
There is no consistency check or update, until you restart the server (during the startup you have to validate/check/rebuild your indexes). There is an option in alfresco.global.properties (or the original repository.properties config file) for that. If you have some inconsistencies in the Alfresco Community index, you're gonna have a bad time xD.
Alfresco Enterprise has specific license for clustering your architecture, the Community edition doesn't support those systems. Replicate and cluster Alfresco is one of the main improvements in performance/scalability/availability you could achieve.
The storage policies allow you to use Content Store selectors in Alfresco Enterprise. You can manage a primary and a secondary file store, and map/connect these stores in your architecture. The Community Edition allows you only to use one content store at a time.
These include everything inside Alfresco (Spring Framework, Apache-Lucene/Solr, Tomcat, and so on), because with the Enterprise license you have also the full support with everything inside the Alfresco package. The difference is that the Community is based on daily builds, supported by community, and therefor not guaranteed. The Enterprise support helps you resolve many problems that you might encounter during developing and in production environment, not only Alfresco related, but also on some configurations on supported platforms (Windows/Linux), your web application servers, and so on.
Hope it helps.

Resources