I am curious to set up some services for a NSF by writing Custom Database Servlets as found in the presentation 'IBM Connect 2016: REST Services in Domino - Key to modern Web Applications'.
Unfortunately the sample code in the NSF is limited to display only the data from a view. So not a single doc or handling of other than get methods.
I found some more interesting code here https://github.com/edm00se/AnAppOfIceAndFire but then the samples here a more advanced so this does not help with quickly getting on the learning ladder.
Does anyone has a more simplified of a Custom Database Servlet with handles both collections and single documents with CRUD support?
My preferred option is to build from scratch in a plugin, for which reason I uploaded a starter plugin that uses OpenNTF Domino API onto OpenNTF. Full documentation is available on the OpenNTF Wiki.
The usual plugin development environment is required - Eclipse, XPages SDK from OpenNTF, IBM Domino Update Site for Build Management from OpenNTF. OpenNTF Domino API may also need installing to compile (I'm not sure, I have the source code in Eclipse). If so, I can work with someone to resolve that and update the documentation accordingly.
If you're looking for a simpler approach within an NSF, SmartNSF on OpenNTF seems to be a good option for developers looking to get more quickly up-and-running. It's very new at the moment, so documentation is pending, and consequently reaching out to the project chef is recommended.
Stepping beyond Domino Designer may be more advanced, but future-proofs skills.
Related
I worked on play framework and got to know the best feature of it that you dont need to build and publish the code changes to reflect it on UI.You just save the changes and refresh the page you will find your changes on web page.Now i am using java-7, spring-4.0, websphere-7 server, oracle 11-g db and eclipse-link, so can i implement that play like feature in this? if yes then what tool or what configuration i should use? , i am using IBM RSA Development IDE.I found few things on google like Hotswap-Agent , but i am not sure how to use it and configure it or is it good way to use ?.
My question is very simple i mentioned above technologies we are using into our project and i want to avoid build and publish process it will take lot of time every time i make changes into the code and want to see it on web page.
I have always been a front-end Java programmer, sometimes had to do C# on .NET but for the most part, Java is probably all I know about.
Just currently I have to do a small-scale website doing extremely simple thing and I really don't know where to start. My HTML skill is probably as good as I am with XML on Android, which is fair to say far less complicated than the HTML source code modern website have. I have almost no experience with PHP either, and no strong background on building or managing a database.
Is there some sort of technology that builds fully working website using mainly Java? It may have other languages I have to familiarize with but for the most part, I'd like to have little learning curve. For the backend I'm very sure I'm going to use cloud server services like Azure or Parse.
This is a very special project of me so I can't let anyone code it rather than me and myself only. Thank you and have a good day.
Use Servlets and JSPs for web development it's a start point and then java webservices as you already know XML.
I suggest you to build all your front-end using the following set of technologies: HTML5, AngularJS, JQuery, javascript, bootstrap. Your backend could exchange json with the front-end. The Bootstrap is the base for all your website and you could get a free template from the web itself, which would severely reduce your hard work at web designing. You would need just to adapt the links and calls, and the AngularJS would handle the controller and other stuffs ( have a chance to learn about ). Some JQuery components, or even AngularJS components would enhance your system usability and combined with javascript would bring most of hard work to front-end. I had the chance do start a system from zero and this is what I did, and now I have an AngularJS app working together with java by having java on the backend ( spring, hibernate, etc ) receiving and providing json data. At github you find some angularjs seed examples which you could use in your app and, again, save time and effort.
My apologies in advance, My answer is a bit broader in scope,
The Best Development Model for developing any website regardless of your language choice in Azure App Service is to take advantage two powerful features offered by Azure App Service, the Continuous Deployment feature and Deployment slots.
Start your website on a git repository and you may have node modules or bower packages, but on build your git will crunch it down to a working website with proper gulp files. Check out this blog to understand the process.
Once you have the git repo working for a simple website, your development process becomes much smoother. You can commit a change and Continuous deployment will automatically start a deployment for you to get your latest bits into your web app.. Check this blog for more details on Continuous Deployment.
You can use deployment slots to stage your changes and swap to maintain multiple versions of your web app on the cloud to easily build a production level application that has a last known good state. Check this blog for more details on Deployment slots.
The two features are the most used features while developing, deploying and servicing any project I work and I have found them very useful to understand them and use them in all their glory.
I am not a Java developer, but from the your question I can see you are looking to start on web development, the quick and powerful way (purely subjective here :D) is to use Asp.Net 5 with Angular 2 Beta. Here is an end to end tutorial on how to setup a development environment. Asp.Net 5 should be friendly toward Java developers as it is very light weight and simple to use and works great with vscode and visual studio community edition.
Let me know if the long answer helped, if you need a pure java environment that should be possible too :).
We are planing to use AngularJS, Bootstrap, jQuery, Javascript, CSS for a web application development.
My boss is suggesting to build a tool that would read the metadata (could be from DB) and build the web application without or less coding. So that in future to add any new pages he would just create/edit the metadata.
To me it seems too complicated and may not be possible as it does not give flexibility. Please suggest.
Upadate:-
Have any one build such tool ? Is it worth the effort ? Or should be a definite no no to such approach ?
I have found one tool called evolutility. http://evoluteur.github.io/evolutility
Have anyone used this ?
Have you looked at WaveMaker? It generates application that matches the stack you mentioned.
Also, your DB seems local, WaveMaker have on premise version which can help.
I know to some of you it might sound ancient but I am currently developing an fat client using Swing for the user interface and Spring as a framework behind the scenes.
Is there any good tutorial explaining how to launch, initialize and shot-down a Swing application?
I saw there is a JSR 296 but it seems to be very old and not maintained any more.
Is there someone who could help me?
As you correctly guessed JSR 296 has failed its purposes and since 2009, when it was announced that it wouldn't have been included in JDK 7, its development has been put on hold. Several forks emerged, and I've worked with most of them, including projects based on a Swing/RESTful architecture.
The best option IMHO is currently represented by Netbeans Platform, a generic framework for Swing applications that can leverage most of the components written to build the Netbeans IDE itself. The documentation is really complete and if you're already familiar with desktop development you'll find it pretty easy to learn.
For what concern the interface with a server component I would create a set of RESTful API using Spring, or even a set of simple servlets. I recommend you to use an ORM like JPA or Hibernate; you'll get caching, pooling and schema flexibility for free. On the fat client side I usually build a REST client using Apache HTTPComponents. The use of HTTP make it easy to overcome firewalls, and security mechanism that are usually built to allow at least internet traffic.
The last hint I can provide is to use JSON for the payload you intend to exchange over the HTTP connection between the client and the server. JSON is compact, text based, and it can be converted easily from and to POJOs (Plain Old Java Objects) using GSON.
Here we are talking about three main products:
JasperReports: which is just a library to generate reports and fill it
iReport: which is GUI tool to develop templates used by the above library
JasperServer: which is full application with web interface for managing reports with users permissions and other features,
documentation is really not that good, i want to use the best of the above products to integrate JasperReports with my application (Spring/Hibernate), so please advice what is the best approach to do this,
1- design reports using iReport using embedded sql generation, and make it as a separate project from mine, I tried to use Hibernate or Spring within iReport but also I faced a lot of problems and no clear documentation for this part
2- attach it with my project, to use same Hibernate configuration, already created entities
3- try to use JasperServer which seems to be complicated, and then expose reports as webservices
or any other better, guaranteed approach, i know it's dependant on the way my project is dealing, but i've shortage in time, so it depends on the approach having better documentations or tutorials.
You can write your own Jasper framework in a module or subproject. You can maintain report definitions separately from queries and feed them with data produced by your code.
This way all data and handling stays in your project where it's easier to track or edit (e.g. when you only need to change an aspect of the query, add a filter or rewrite it for better performance). Also, this way you can use report data for something else (e.g. add CSV or XML output).
See http://en.wikipedia.org/wiki/JasperReports for the "What is" part of your question.
I faced the same problems when considering to use Jasper-reports in my application, I ended up given it up completely.
Anyway, take a look at this post for more information about different report frameworks for Java. Generating Reports - What works for you?
I wholeheartedly recommend that you take a look at BIRT http://www.eclipse.org/birt/phoenix/
I've used it with both Spring and Hibernate, and have no complain so far.
I can't comment on the other two approaches, but we are using Jasperserver and that seems to be more appropriate if you want to actually use a portal with which people will access their reports.
With this, you create reports in ireport and publish them to the portal. People log in to the portal to access their reports. I don't think you'd use Jasperserver if you were simply embedding it in your application.
I've started using JasperServer-pro recently and tbh I quite like it. As far as I know there seem to be plenty of options in the way of integrating it with existing apps :-
1 -Deploy as standalone server, and
use the WebService API to call into
to generate and return your reports
(these have to be predefined, either
through iReport or JasperServer's
own AdHoc Report Editor.
2- Deploy as standalone server, and do URL
calls through a kicked-off browser
to pull up reports (again
predefined)
3 - (Pro-only) -
Download the WAR BIN installer and
rebrand it.
4 - Download the source
code for JasperServer and build it
from ground up
5 - Download the
source code / JasperReports jars and
borrow the parts you want to use in
your source code.
For JasperReports can you buy documentation. You'll get a book and sample code that can help a lot. I just looked at the website (it's been some time ago I worked with JasperRepors, currently no reporting to do), they have a professional design application as well now: http://www.jaspersoft.com/jasperreports-professional.